Skip to content

Temporal Triggers Guide

Summary

Temporal triggers let you schedule tasks using natural language. Instead of manually creating tasks every day, you can tell MAGIEVA when and how often to create them for you.

Examples: - "Remind me every Monday at 9am to review my goals" - "Create a task to call Mom in 2 hours" - "Every weekday at 5pm, remind me to log my time" - "30 minutes before every meeting, remind me to prepare"


Table of Contents

  • How Temporal Triggers Work
  • Creating Triggers with Maggie
  • Creating Triggers Manually
  • Trigger Types
  • Natural Language Patterns
  • Managing Triggers
  • Advanced Features
  • Examples & Recipes
  • Troubleshooting
  • Best Practices

How Temporal Triggers Work

A temporal trigger is a scheduled action that creates tasks, sends notifications, or starts workflows at specific times.

The Three Types

┌─────────────────────────────────────────────────────────────┐
│                    TEMPORAL TRIGGERS                         │
├──────────────────┬──────────────────┬───────────────────────┤
│   ABSOLUTE       │    RELATIVE      │      EVENT-BASED      │
│  (Fixed times)   │  (Time offsets)  │   (Before events)     │
├──────────────────┼──────────────────┼───────────────────────┤
│ "Every Monday    │ "In 2 hours"     │ "30 minutes before    │
│  at 9am"         │                  │  every meeting"       │
│                  │ "Tomorrow at     │                       │
│ "Daily at 5pm"   │  10am"           │ "1 hour before        │
│                  │                  │  task due date"       │
│ "First day of    │ "Next Friday"    │                       │
│  every month"    │                  │                       │
└──────────────────┴──────────────────┴───────────────────────┘

How They Differ from Automation Rules

Feature Temporal Triggers Automation Rules
Primary Use Scheduling tasks Conditional automation
Trigger Time-based Event + conditions
Actions Usually create tasks Multiple action types
Recurring Yes (built-in) Yes (via schedule trigger)
Best For "Do X every Monday" "When Y happens, do Z"

When to use which: - Temporal Trigger: "Remind me to review goals every Monday at 9am" → Simple recurring task - Automation Rule: "When a high-priority task is created, send me a notification" → Conditional logic


Creating Triggers with Maggie

The easiest way to create triggers is by talking to Maggie in natural language.

Example 1: Simple One-Time Reminder

User: "Remind me to call the dentist tomorrow at 2pm"

Maggie: "I'll remind you to call the dentist tomorrow (Feb 13) at 2:00 PM.
I've created a temporal trigger that will create a task at that time.

Would you like me to:
• Add it to your calendar?
• Set a specific priority level?"

What Maggie did: 1. Detected scheduling intent ("remind me", "tomorrow at 2pm") 2. Calculated exact trigger time (Feb 13, 2026 at 14:00) 3. Created a temporal trigger (type: absolute, one-time) 4. Confirmed with you

Example 2: Recurring Weekly Task

User: "Every Monday morning at 9am, remind me to review my goals"

Maggie: "I'll create a recurring reminder for you:
• Schedule: Every Monday at 9:00 AM
• Action: Create task 'Review my goals'
• Priority: 7 (default)

This will continue indefinitely. You can pause or delete it anytime in
Settings → Triggers.

Should I create this trigger?"

User: "Yes"

Maggie: "✅ Recurring trigger created! Your first reminder will be next
Monday, Feb 17 at 9:00 AM."

What Maggie did: 1. Detected recurring pattern ("every Monday") 2. Extracted time (9am) and action ("review my goals") 3. Created recurring trigger with cron expression 4. Calculated next occurrence

Example 3: Relative Time Trigger

User: "In 30 minutes, remind me to check on the deployment"

Maggie: "I'll remind you in 30 minutes (at 3:15 PM) to check on the deployment.

Creating a one-time trigger that fires at 3:15 PM."

[30 minutes later]

[Notification]: ../"🔔 Reminder: Check on the deployment"
[New task created]: ../"Check on the deployment" (Priority: 7, Due: Today)

What Maggie did: 1. Detected relative time ("in 30 minutes") 2. Calculated absolute time (current time + 30 minutes) 3. Created one-time trigger 4. Fired at scheduled time

Example 4: Event-Relative Trigger

User: "30 minutes before every meeting, remind me to prepare"

Maggie: "I'll create reminders 30 minutes before your calendar meetings:
• Trigger: 30 minutes before each calendar event
• Action: Create task 'Prepare for: [Meeting Title]'
• Calendar: Google Calendar (yourname@gmail.com)

This works with your connected calendar. Make sure calendar sync is enabled.

Create this trigger?"

User: "Yes"

Maggie: "✅ Trigger created! You'll get preparation reminders 30 minutes
before all calendar meetings."

What Maggie did: 1. Detected event-relative pattern ("before every meeting") 2. Linked to calendar integration 3. Created event-based trigger 4. Will fire dynamically based on calendar events


Creating Triggers Manually

You can also create triggers manually without talking to Maggie.

Step 1: Navigate to Triggers

  1. Open MAGIEVA
  2. Go to SettingsTemporal Triggers
  3. Click Create New Trigger

Step 2: Choose Trigger Type

Select one of: - Absolute (fixed schedule) - Relative (time offset from now) - Event-based (relative to calendar events or task due dates)

Step 3: Configure Trigger

For Absolute Triggers:

┌────────────────────────────────────────────────────┐
│ Cron Expression: 0 9 * * 1                         │
│                 (Every Monday at 9am)              │
│                                                    │
│ Timezone: America/Los_Angeles                      │
│                                                    │
│ [Visual Cron Builder] [Use Text Expression]       │
└────────────────────────────────────────────────────┘

Visual Cron Builder: - Minute: 0 - Hour: 9 - Day of month: * (any) - Month: * (any) - Day of week: Monday

For Relative Triggers:

┌────────────────────────────────────────────────────┐
│ Relative To: Now                                   │
│ Offset: 2 hours                                    │
│                                                    │
│ Result: Task will be created at 5:00 PM today     │
└────────────────────────────────────────────────────┘

For Event-Based Triggers:

┌────────────────────────────────────────────────────┐
│ Relative To: calendar.event.start                  │
│ Offset: -30 minutes (before)                       │
│                                                    │
│ Filter Events:                                     │
│   ☑️ Only meetings (exclude all-day events)       │
│   ☑️ Only events I'm organizing                   │
└────────────────────────────────────────────────────┘

Step 4: Configure Action

Most common: Create Task

┌────────────────────────────────────────────────────┐
│ Action Type: Create Task                           │
│                                                    │
│ Task Template:                                     │
│   Title: Review weekly goals                       │
│   Description: (optional)                          │
│   Priority: 7                                      │
│   Agent Archetype: Quinn (Organizer)              │
│   Project: (optional)                              │
│                                                    │
│ ☑️ Set due date to trigger time                   │
│ ☑️ Add to calendar                                │
└────────────────────────────────────────────────────┘

Step 5: Save and Activate

  1. Click Test Trigger to verify it works
  2. Click Save & Activate

Your trigger is now live!


Trigger Types

Absolute Triggers (Fixed Schedule)

Absolute triggers fire at specific times on a recurring schedule.

Use Cases: - Daily reminders ("Every day at 9am") - Weekly reviews ("Every Friday at 5pm") - Monthly reports ("First day of every month") - Hourly check-ins ("Every hour")

Cron Expression Format:

┌─────────── minute (0 - 59)
│ ┌───────── hour (0 - 23)
│ │ ┌─────── day of month (1 - 31)
│ │ │ ┌───── month (1 - 12)
│ │ │ │ ┌─── day of week (0 - 7) (Sunday = 0 or 7)
│ │ │ │ │
* * * * *

Common Patterns:

Description Cron Expression Natural Language
Every day at 9am 0 9 * * * "Daily at 9am"
Every weekday at 8am 0 8 * * 1-5 "Every weekday at 8am"
Every Monday at 2pm 0 14 * * 1 "Every Monday at 2pm"
Every hour 0 * * * * "Every hour"
Every 30 minutes */30 * * * * "Every 30 minutes"
First day of month at 9am 0 9 1 * * "First day of every month at 9am"
Last day of month at 5pm 0 17 L * * "Last day of every month at 5pm"

Tools to Help: - Cron Guru (https://crontab.guru/) - Explains cron expressions in English - Visual Cron Builder (in MAGIEVA) - Build expressions with dropdowns

Relative Triggers (Time Offsets)

Relative triggers fire a specific amount of time from now.

Use Cases: - Quick reminders ("In 30 minutes, remind me to...") - Delayed tasks ("Tomorrow at 10am, create a task to...") - Near-future scheduling ("Next Friday, remind me to...")

Offset Units: - Minutes: 15, 30, 45 - Hours: 1h, 2h, 3h - Days: 1d, 2d, 7d - Weeks: 1w, 2w

Examples:

Natural Language Relative To Offset
"In 30 minutes" Now +30 minutes
"In 2 hours" Now +2 hours
"Tomorrow at 10am" Now +1 day, set time to 10:00
"Next Monday" Now +[days until next Monday]
"Next Friday at 5pm" Now +[days until next Friday], set time to 17:00

Note: Relative triggers are one-time only. They convert to absolute time when created (e.g., "in 30 minutes" becomes "2026-02-12 15:30:00").

Event-Based Triggers (Relative to Events)

Event-based triggers fire relative to calendar events or task due dates.

Use Cases: - Meeting preparation ("30 minutes before every meeting") - Task reminders ("1 hour before task due date") - Follow-up tasks ("1 day after meeting ends")

Supported Events:

Event Type Description
calendar.event.start Calendar event start time
calendar.event.end Calendar event end time
task.due_date Task due date

Offset Direction: - Negative offset: Before event (e.g., -30 minutes = 30 minutes before) - Positive offset: After event (e.g., +1 day = 1 day after)

Examples:

Description Relative To Offset
30 min before meeting starts calendar.event.start -30 minutes
1 hour before task due task.due_date -1 hour
1 day after meeting ends calendar.event.end +1 day
15 min before every 1-on-1 calendar.event.start -15 minutes (filtered by event title contains "1-on-1")

Filters (optional): - Event title contains: "Client" - Event type: Meeting (exclude all-day events) - Organizer: Me - Attendees include: "boss@company.com"


Natural Language Patterns

MAGIEVA understands these natural language patterns when creating triggers.

Recurring Patterns

You Say MAGIEVA Understands
"Every day at 9am" 0 9 * * * (daily at 9am)
"Every weekday at 8am" 0 8 * * 1-5 (Monday-Friday at 8am)
"Every Monday at 2pm" 0 14 * * 1 (weekly on Monday at 14:00)
"Every morning at 7am" 0 7 * * * (daily at 7am)
"Every evening at 6pm" 0 18 * * * (daily at 18:00)
"Every hour" 0 * * * * (top of every hour)
"Every 30 minutes" */30 * * * * (twice per hour)
"Twice a day" 0 9,17 * * * (9am and 5pm)
"First day of the month" 0 9 1 * * (1st of month at 9am)
"Last Friday of the month" 0 17 * * 5L (last Friday at 5pm)

Relative Time Patterns

You Say MAGIEVA Understands
"In 30 minutes" Now + 30 minutes
"In 2 hours" Now + 2 hours
"Tomorrow at 10am" Tomorrow, 10:00
"Tomorrow morning" Tomorrow, 9:00 (default morning time)
"Tomorrow evening" Tomorrow, 18:00 (default evening time)
"Next Monday" Next Monday, 9:00 (default time)
"Next Friday at 5pm" Next Friday, 17:00
"This evening" Today, 18:00
"Tonight" Today, 20:00 (default night time)
"In a week" 7 days from now, same time

Event-Relative Patterns

You Say MAGIEVA Understands
"30 minutes before every meeting" -30 min offset from calendar.event.start
"1 hour before my 1-on-1s" -1 hour offset, filtered by title "1-on-1"
"15 minutes before client calls" -15 min offset, filtered by title "client"
"Right before every meeting" -5 min offset from calendar.event.start
"1 hour before tasks are due" -1 hour offset from task.due_date
"1 day after meetings end" +1 day offset from calendar.event.end

Day-of-Week Shortcuts

You Say MAGIEVA Understands
"Weekdays" Monday through Friday
"Weekends" Saturday and Sunday
"MWF" or "Mon/Wed/Fri" Monday, Wednesday, Friday
"Tuesdays and Thursdays" Tuesday and Thursday

Managing Triggers

Viewing All Triggers

  1. Go to SettingsTemporal Triggers
  2. You'll see all your triggers:
📅 My Temporal Triggers (12 active, 2 paused)

✅ Daily Morning Goals Review
   Schedule: Every day at 9:00 AM
   Next: Tomorrow at 9:00 AM
   Created: 45 tasks | Last fired: Today at 9:00 AM
   [Edit] [Pause] [Delete]

✅ Weekly Team Review
   Schedule: Every Monday at 2:00 PM
   Next: Feb 17 at 2:00 PM
   Created: 8 tasks | Last fired: Feb 10 at 2:00 PM
   [Edit] [Pause] [Delete]

⏸️ End-of-Month Report (Paused)
   Schedule: First day of month at 9:00 AM
   Next: (Paused)
   Created: 3 tasks | Last fired: Feb 1 at 9:00 AM
   [Edit] [Resume] [Delete]

Editing Triggers

  1. Click Edit on any trigger
  2. Modify schedule, action, or settings
  3. Click Save

Note: Editing a trigger does NOT delete tasks already created. To modify existing tasks, you must update them manually or use an automation rule.

Pausing Triggers

To temporarily disable a trigger:

  1. Click Pause
  2. The trigger will stop firing but remain in your list
  3. Click Resume to reactivate

Use Cases: - Vacation (pause daily work reminders) - Project on hold (pause weekly review triggers) - Testing (pause production triggers while debugging)

Deleting Triggers

To permanently remove a trigger:

  1. Click Delete
  2. Confirm the action

Warning: Deletion is permanent. Consider pausing instead if you might need it later.

What happens to created tasks? - ✅ Tasks already created by this trigger remain (not deleted) - ❌ No new tasks will be created

Viewing Trigger History

To see when a trigger fired:

  1. Click View History on any trigger
  2. You'll see a log of recent executions:
Execution History: Daily Morning Goals Review

Feb 12, 2026 9:00 AM - Success ✅
  Action: Created task "Review my goals" (task_id: abc-123)
  Duration: 0.3 seconds

Feb 11, 2026 9:00 AM - Success ✅
  Action: Created task "Review my goals" (task_id: def-456)
  Duration: 0.2 seconds

Feb 10, 2026 9:00 AM - Failed ❌
  Error: Database connection timeout
  Retried: Yes (succeeded on 2nd attempt)

Advanced Features

Recurring Limits

Limit how many times a recurring trigger fires:

Configuration:

Max Occurrences: 50
Action after max: Pause trigger and notify user

Use Cases: - Temporary habit building ("Remind me 30 times, then stop") - Limited campaigns ("Send weekly reports for 12 weeks") - Trial periods ("Daily check-ins for 2 weeks")

Skip Weekends

For recurring triggers, automatically skip weekends:

Configuration:

☑️ Skip weekends (Saturday & Sunday)

Example:

Original: "Every day at 9am"
With skip: "Every weekday at 9am" (Mon-Fri only)

Skip Holidays

Skip triggers on holidays:

Configuration:

☑️ Skip holidays
Holiday calendar: US Holidays

How it works: - MAGIEVA checks your calendar for events titled "Holiday" - If found, trigger is skipped for that day - Next occurrence is calculated automatically

Custom Timezones

By default, triggers use your account timezone. You can override:

Configuration:

Timezone: America/New_York (overrides account default)

Use Cases: - Working across timezones ("Create task at 9am ET, even though I'm in PT") - Coordinating with remote teams - Travel (trigger at local time in destination)

Task Due Date Options

When creating tasks via triggers:

Option 1: Due at trigger time (default)

Trigger fires: 9:00 AM
Task due date: 9:00 AM same day

Option 2: Due later same day

Trigger fires: 9:00 AM
Task due date: 5:00 PM same day (configurable)

Option 3: No due date

Task created without due date (flexible completion)

Calendar Integration

Automatically add triggered tasks to your calendar:

Configuration:

☑️ Add created tasks to calendar
Calendar: Google Calendar (primary)
Event duration: 30 minutes (default)

Result: When trigger fires, task is created AND calendar event is added.


Examples & Recipes

Morning Routine Builder

Goal: Start every day with a consistent routine.

Triggers:

1. Every day at 7:00 AM: "Morning meditation" (Priority: 8, Due: 7:30 AM)
2. Every day at 7:30 AM: "Review daily goals" (Priority: 7, Due: 8:00 AM)
3. Every weekday at 8:00 AM: "Check inbox and respond to urgent emails" (Priority: 8, Due: 9:00 AM)

Weekly Review System

Goal: Review goals, tasks, and progress every week.

Triggers:

1. Every Monday at 9:00 AM: "Weekly goal review" (Priority: 8)
2. Every Friday at 5:00 PM: "Week in review - What went well?" (Priority: 7)
3. Every Sunday at 6:00 PM: "Plan next week's priorities" (Priority: 8)

Meeting Preparation Automation

Goal: Never walk into a meeting unprepared.

Triggers:

1. 30 minutes before every meeting: "Prepare for: {{event.title}}"
   - Action: Create task with meeting agenda link
   - Priority: 9
   - Due: Meeting start time

2. 1 day after every client meeting: "Follow up with {{event.attendees}}"
   - Filter: Event title contains "client"
   - Priority: 8

Habit Building (30-Day Challenge)

Goal: Build a new habit with daily reminders for 30 days.

Trigger:

Schedule: Every day at 8:00 PM
Action: Create task "30-day habit: Exercise for 30 minutes"
Max occurrences: 30
After max: Pause and notify "You did it! 30 days complete."

Focus Time Protection

Goal: Block time for deep work every morning.

Triggers:

1. Every weekday at 7:00 AM: Check if calendar has 9am-12pm blocked
   - If not blocked: Create calendar event "Focus Time (Do Not Disturb)"
   - Duration: 3 hours (9am-12pm)

2. Every weekday at 8:45 AM: "Prepare for focus time"
   - Close Slack, silence notifications
   - Priority: 9
   - Due: 9:00 AM

Client Check-In Cadence

Goal: Stay in touch with clients on a regular schedule.

Triggers:

1. Every 2 weeks on Monday at 10:00 AM: "Check in with Client A"
   - Cron: 0 10 * * 1/2 (every other Monday)
   - Priority: 8

2. First day of every month at 9:00 AM: "Monthly check-in with all clients"
   - Priority: 9
   - Template includes client list


Troubleshooting

Trigger Not Firing

Problem: You created a trigger, but it's not creating tasks.

Solutions:

  1. Check if trigger is active:
  2. Go to SettingsTemporal Triggers
  3. Verify trigger shows green checkmark (✅), not pause icon (⏸️)

  4. Verify next occurrence:

  5. Look at "Next:" field to see when trigger will fire next
  6. If it says "(Paused)" or date is far in future, check schedule

  7. Check cron expression (for absolute triggers):

  8. Use https://crontab.guru/ to verify expression is correct
  9. Common mistake: 0 9 * * 1 (Monday) vs 0 9 * * 0 (Sunday)

  10. Check timezone:

  11. Trigger might be firing in wrong timezone
  12. Go to Account SettingsTimezone to verify

  13. View execution history:

  14. Click View History to see if trigger fired but failed
  15. Look for error messages

Task Created at Wrong Time

Problem: Trigger fires, but task is created at wrong time or day.

Solutions:

  1. Timezone mismatch:
  2. Check your account timezone: SettingsAccountTimezone
  3. Trigger times are stored in UTC but displayed in your timezone
  4. If you travel, update your timezone

  5. Daylight saving time:

  6. DST transitions can shift trigger times by 1 hour
  7. Review triggers after DST changes (March & November in US)

  8. Cron expression issue:

  9. Double-check day-of-week: Sunday is 0 (or 7), Monday is 1, etc.
  10. Month is 1-12, not 0-11

Multiple Tasks Created

Problem: Trigger fires twice and creates duplicate tasks.

Solutions:

  1. Check for duplicate triggers:
  2. Go to SettingsTemporal Triggers
  3. Look for triggers with same schedule
  4. Delete duplicates

  5. Clock skew:

  6. If server clock and your clock are out of sync, trigger might fire twice
  7. Contact support if this persists

  8. Background evaluator restart:

  9. If MAGIEVA's background service restarts during trigger evaluation, it might re-fire
  10. Rare edge case - contact support

Trigger Skipped Execution

Problem: Trigger should have fired yesterday, but didn't.

Solutions:

  1. MAGIEVA was down:
  2. Check system status: SettingsSystem Status
  3. If MAGIEVA was down during scheduled time, trigger was skipped
  4. Missed triggers are NOT executed retroactively

  5. Max occurrences reached:

  6. Check if trigger hit max execution limit
  7. View Execution History to see count

  8. Skip weekends/holidays enabled:

  9. If yesterday was a weekend/holiday and skip is enabled, trigger was intentionally skipped
  10. Check trigger settings: EditAdvancedSkip Options

Event-Based Trigger Not Firing

Problem: "30 minutes before meeting" trigger isn't creating tasks.

Solutions:

  1. Calendar not connected:
  2. Event-based triggers require calendar integration
  3. Go to SettingsCalendar and connect a calendar

  4. Calendar sync not working:

  5. Check calendar sync status: SettingsCalendarView Details
  6. Look for "Last synced:" timestamp (should be recent)
  7. Try Sync Now button

  8. Event filter too narrow:

  9. Your filter might be excluding events
  10. Example: Filter "Event title contains 'Client'" won't match "Acme Corp Meeting"
  11. Try removing filters to test

  12. Trigger offset too short:

  13. If meeting is in less than 30 minutes and you just created the trigger, it's too late
  14. Trigger only fires for future meetings with sufficient lead time

Best Practices

Start with Weekly Routines

Don't try to automate everything at once. Start with:

  1. Weekly review (e.g., "Every Monday at 9am")
  2. Weekly planning (e.g., "Every Friday at 4pm")
  3. Add daily and hourly triggers gradually

Use Descriptive Names

Good: - ✅ "Daily Morning Goals Review (9am)" - ✅ "Weekly Team Standup Prep (Mon 1:45pm)" - ✅ "30min Before Client Meetings"

Bad: - ❌ "Trigger 1" - ❌ "Task thing" - ❌ "Reminder"

Set Appropriate Priorities

Match task priority to urgency:

Priority When to Use Example
9-10 Urgent, time-sensitive "Prepare for meeting in 30 min"
7-8 Important, not urgent "Weekly goal review"
5-6 Nice to have "Check in with old client"
1-4 Optional, low priority "Read interesting article"

Review Triggers Quarterly

Every 3 months:

  1. Go to SettingsTemporal Triggers
  2. Review all active triggers
  3. Delete or pause triggers you no longer need
  4. Update triggers that aren't working well

Questions to ask: - Am I actually completing tasks created by this trigger? - Is the timing still right? - Is the priority still appropriate? - Can I combine multiple triggers into one automation rule?

Use Triggers for Habits, Rules for Automation

Triggers → "Do X at Y time" (habit building, routines) Rules → "When Z happens, do X" (conditional automation, responses)

Example: - ✅ Trigger: "Every day at 9am, remind me to review goals" - ✅ Rule: "When high-priority task is created, send notification" - ❌ Trigger: "Every minute, check if tasks are overdue" (use rule instead)

Combine with Calendar Sync

Enable calendar sync for triggered tasks:

SettingsTemporal TriggersEditAdvanced → ☑️ Add to calendar

Benefits: - Tasks appear in your calendar (visual schedule) - Calendar-aware AI can see your commitments - Better time blocking


Need Help?

If you're stuck creating temporal triggers:

  1. Ask Maggie: Just say "Remind me to..." and Maggie will create the trigger
  2. Check Examples: Review Examples & Recipes above
  3. Cron Help: Use https://crontab.guru/ to build cron expressions
  4. Help Center: https://docs.magieva.com
  5. Contact Support: Email support@magieva.com with your trigger configuration
  6. Community: Discord

What's Next?

Now that you know how to create temporal triggers, explore:

  • Automation Rules: Create conditional "if-then" workflows → Automation Rules Guide
  • Calendar Integration: Sync tasks with your calendar → Calendar Setup Guide
  • Workflows: Build complex multi-step processes → Workflows Guide

Last Updated: 2026-02-12 Version: 1.0.0 Feedback: If you have suggestions for this guide, email docs@magieva.com