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¶
- Open MAGIEVA
- Go to Settings → Temporal Triggers
- 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¶
- Click Test Trigger to verify it works
- 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¶
- Go to Settings → Temporal Triggers
- 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¶
- Click Edit on any trigger
- Modify schedule, action, or settings
- 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:
- Click Pause
- The trigger will stop firing but remain in your list
- 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:
- Click Delete
- 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:
- Click View History on any trigger
- 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:
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:
Example:
Skip Holidays¶
Skip triggers on holidays:
Configuration:
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:
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)
Option 2: Due later same day
Option 3: No due date
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:
- Check if trigger is active:
- Go to Settings → Temporal Triggers
-
Verify trigger shows green checkmark (✅), not pause icon (⏸️)
-
Verify next occurrence:
- Look at "Next:" field to see when trigger will fire next
-
If it says "(Paused)" or date is far in future, check schedule
-
Check cron expression (for absolute triggers):
- Use https://crontab.guru/ to verify expression is correct
-
Common mistake:
0 9 * * 1(Monday) vs0 9 * * 0(Sunday) -
Check timezone:
- Trigger might be firing in wrong timezone
-
Go to Account Settings → Timezone to verify
-
View execution history:
- Click View History to see if trigger fired but failed
- Look for error messages
Task Created at Wrong Time¶
Problem: Trigger fires, but task is created at wrong time or day.
Solutions:
- Timezone mismatch:
- Check your account timezone: Settings → Account → Timezone
- Trigger times are stored in UTC but displayed in your timezone
-
If you travel, update your timezone
-
Daylight saving time:
- DST transitions can shift trigger times by 1 hour
-
Review triggers after DST changes (March & November in US)
-
Cron expression issue:
- Double-check day-of-week: Sunday is 0 (or 7), Monday is 1, etc.
- Month is 1-12, not 0-11
Multiple Tasks Created¶
Problem: Trigger fires twice and creates duplicate tasks.
Solutions:
- Check for duplicate triggers:
- Go to Settings → Temporal Triggers
- Look for triggers with same schedule
-
Delete duplicates
-
Clock skew:
- If server clock and your clock are out of sync, trigger might fire twice
-
Contact support if this persists
-
Background evaluator restart:
- If MAGIEVA's background service restarts during trigger evaluation, it might re-fire
- Rare edge case - contact support
Trigger Skipped Execution¶
Problem: Trigger should have fired yesterday, but didn't.
Solutions:
- MAGIEVA was down:
- Check system status: Settings → System Status
- If MAGIEVA was down during scheduled time, trigger was skipped
-
Missed triggers are NOT executed retroactively
-
Max occurrences reached:
- Check if trigger hit max execution limit
-
View Execution History to see count
-
Skip weekends/holidays enabled:
- If yesterday was a weekend/holiday and skip is enabled, trigger was intentionally skipped
- Check trigger settings: Edit → Advanced → Skip Options
Event-Based Trigger Not Firing¶
Problem: "30 minutes before meeting" trigger isn't creating tasks.
Solutions:
- Calendar not connected:
- Event-based triggers require calendar integration
-
Go to Settings → Calendar and connect a calendar
-
Calendar sync not working:
- Check calendar sync status: Settings → Calendar → View Details
- Look for "Last synced:" timestamp (should be recent)
-
Try Sync Now button
-
Event filter too narrow:
- Your filter might be excluding events
- Example: Filter "Event title contains 'Client'" won't match "Acme Corp Meeting"
-
Try removing filters to test
-
Trigger offset too short:
- If meeting is in less than 30 minutes and you just created the trigger, it's too late
- 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:
- Weekly review (e.g., "Every Monday at 9am")
- Weekly planning (e.g., "Every Friday at 4pm")
- 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:
- Go to Settings → Temporal Triggers
- Review all active triggers
- Delete or pause triggers you no longer need
- 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:
Settings → Temporal Triggers → Edit → Advanced → ☑️ 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:
- Ask Maggie: Just say "Remind me to..." and Maggie will create the trigger
- Check Examples: Review Examples & Recipes above
- Cron Help: Use https://crontab.guru/ to build cron expressions
- Help Center: https://docs.magieva.com
- Contact Support: Email support@magieva.com with your trigger configuration
- 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