2305 Scheduled Tasks
Scheduled Tasks: Time-Based Automation
What are Scheduled Tasks?
When to Use Scheduled Tasks
Recurring Reminders
- Send appointment reminders 24 hours before scheduled visits
- Email payment due date reminders
- Alert users of upcoming deadlines
- Send weekly task summaries to team members
Batch Processing
- Generate monthly invoices for active subscriptions
- Process recurring billing
- Create weekly reports for management
- Generate quarterly statements
Status Updates
- Mark overdue invoices as "Past Due"
- Archive old records automatically
- Update project status based on deadlines
- Escalate unresolved support tickets
Maintenance Operations
- Clean up old temporary data
- Update calculated fields
- Synchronize data with external systems
- Generate backup reports
How Scheduled Tasks Work
Execution Flow
- Task schedule triggers at the specified time
- Tadabase queries the table for records matching your conditions
- For each matching record, the specified actions execute
- Results are logged in task history
- Optional email notifications sent about task completion
Key Concept: Batch Processing
Creating Scheduled Tasks
Step 1: Navigate to Scheduled Tasks
Step 2: General Settings
- Task Name: Descriptive name (e.g., "Daily Appointment Reminders")
- Data Table: Select the table to process
- Description: Optional notes about what the task does
- Trigger Mode: On Schedule or On Demand
Step 3: Configure Schedule
Schedule Options:
- Daily: Runs once per day at specified time
- Weekly: Runs once per week on specified day and time
- Monthly: Runs once per month on specified date and time
- Quarterly: Runs every three months
- Hourly: Runs once per hour (Enterprise plans)
- Every Minute: Runs every minute (Enterprise plans)
- Advanced (RRule): Custom patterns using RFC 5545 (select plans)
Start Date & Time:
- When should the task begin running?
- What time should it execute?
- Timezone is based on app settings
Important: Tasks use your app's timezone. If your app uses UTC and you set a task for 9:00 AM, it runs at 9:00 AM UTC.
Step 4: Choose Action
- Update This Record
- Update Connected Records
- Insert Connected Record
- Insert New Record
- Send Email
- Send SMS
- Generate PDF (select plans)
Step 5: Add Conditions
- Date comparisons (e.g., "Appointment Date equals Tomorrow")
- Status filters (e.g., "Status equals Active")
- Numeric conditions (e.g., "Balance is greater than 0")
- Multiple conditions with AND/OR logic
Tip: Use specific conditions to ensure the task only processes relevant records. This improves performance and prevents unintended actions.
Step 6: Set Field Values
- Custom Value - Static value
- Set Blank - Clear field
- Form Value - Copy from another field
- Connected Value - Pull from related record
- Current Date/Time - Timestamp
Step 7: Optional Settings
- Email Notifications: Receive email when task completes
- Webhook Callbacks: Notify external systems
- Enable/Disable: Toggle the task on or off
Step 8: Save and Test
- Click Save to save the task
- Click Run Task to test immediately
- Check History tab to review results
- Verify actions executed correctly
Scheduled Task Examples
Example 1: Daily Appointment Reminders
Scenario: Every day at 8:00 AM, send reminder emails to customers with appointments scheduled for that day.
Configuration:
- Table: Appointments
- Schedule: Daily at 8:00 AM
- Action: Send Email
- Conditions:
- Appointment Date equals Today
- Status equals "Confirmed"
- Reminder Sent equals "No"
- Email Configuration:
- To: {customer_email}
- Subject: "Appointment Reminder: Today at {appointment_time}"
- Body: Include appointment details and location
- Additional Action: Update Reminder Sent to "Yes"
Example 2: Monthly Invoice Generation
Scenario: On the 1st of each month, generate invoices for all active subscriptions.
Configuration:
- Table: Subscriptions
- Schedule: Monthly on the 1st at 12:00 AM
- Action: Insert Connected Record (Invoices)
- Conditions:
- Status equals "Active"
- Billing Type equals "Monthly"
- Field Values:
- Invoice Date → Current Date
- Due Date → 30 days from now
- Amount → Form Value: Subscription Amount
- Status → Custom Value: "Pending"
Example 3: Overdue Status Update
Scenario: Every day at midnight, mark invoices as "Overdue" if payment hasn't been received by the due date.
Configuration:
- Table: Invoices
- Schedule: Daily at 12:00 AM
- Action: Update This Record
- Conditions:
- Due Date is before Today
- Status equals "Pending"
- Balance is greater than 0
- Field Values:
- Status → Custom Value: "Overdue"
- Overdue Date → Current Date
- Additional Action: Send Email notification to customer
Example 4: Weekly Report Generation
Scenario: Every Monday at 6:00 AM, generate a summary report of all tasks completed last week and email it to the project manager.
Configuration:
- Table: Tasks
- Schedule: Weekly on Monday at 6:00 AM
- Action: Send Email
- Conditions:
- Status equals "Completed"
- Completion Date is during the last 7 days
- Email Configuration:
- To: project.manager@company.com
- Subject: "Weekly Task Completion Report"
- Body: Summary of completed tasks with details
Example 5: Data Cleanup
Scenario: Every Sunday at 2:00 AM, archive completed projects older than 90 days.
Configuration:
- Table: Projects
- Schedule: Weekly on Sunday at 2:00 AM
- Action: Update This Record
- Conditions:
- Status equals "Completed"
- Completion Date is before the previous 90 days
- Archived equals "No"
- Field Values:
- Archived → Custom Value: "Yes"
- Archive Date → Current Date
Example 6: Escalation Workflow
Scenario: Every hour, check for high-priority support tickets that haven't been responded to within 2 hours and escalate to the manager.
Configuration:
- Table: Support Tickets
- Schedule: Hourly (Enterprise plan)
- Conditions:
- Priority equals "High" OR Priority equals "Critical"
- Status equals "Open"
- Created At is before the previous 2 hours
- Last Response is empty
- Escalated equals "No"
- Actions (Multiple):
- Action 1: Update This Record - Set Escalated to "Yes", Priority to "Critical"
- Action 2: Send Email to manager with ticket details
- Action 3: Insert Connected Record - Create escalation notification
Advanced Scheduling with RRule
RRule Examples
- Every Monday, Wednesday, and Friday at 9:00 AM: Custom interval pattern
- Every 2 weeks on Tuesday: Bi-weekly scheduling
- Last day of every month: Month-end processing
- First Monday of each month: Monthly meetings
- Every 6 hours: Frequent sync operations
Note: Advanced scheduling uses RFC 5545 recurrence rules. The interface provides a human-readable preview of your schedule.
Monitoring Scheduled Tasks
Task History
- Start Time: When the task began
- End Time: When the task completed
- Status: Success or Failed
- Records Processed: Number of records affected
- Trigger Source: Schedule, Manual, API, or Component
- Error Details: If failed, what went wrong
Task Queue
- See which tasks are executing
- View progress for long-running tasks
- Monitor total records and records completed
- Terminate stuck tasks if needed
Email Notifications
- Toggle on "Send email notification"
- Enter recipient email addresses
- Receive summary of execution (success/failure, records processed)
- Useful for monitoring critical tasks
Running Tasks On Demand
From the Builder
- Open the task in the Builder
- Click the Run Task button
- Task executes immediately
- Check History tab for results
Note: You must save the task before you can run it. Changes disable the Run button until saved.
Via Task Manager Component
Add the Task Manager Component to your pages to let end users trigger tasks:
- View all available tasks
- Search and filter tasks
- View task details and history
- Run tasks on demand with a click
- Monitor execution status
Via API
Trigger tasks programmatically using the REST API:
POST /api/v1/tasks/run/{taskId}
Use cases:
- Integrate with external systems
- Trigger tasks from webhooks
- Build custom automation workflows
Note: API task execution requires a plan that includes this feature.
Best Practices for Scheduled Tasks
1. Use Specific Conditions
- Add date filters to limit scope
- Filter by status to avoid processing completed items
- Use flags to prevent duplicate processing (e.g., "Reminder Sent")
2. Schedule During Off-Peak Hours
- Batch processing at midnight or early morning
- Reports generation before business hours
- Data cleanup on weekends
3. Test with "Run Task"
- Start with a small subset of records using strict conditions
- Run manually and verify results
- Check email content and recipients
- Review task history for errors
- Expand conditions once testing succeeds
4. Monitor Task History
- Check for failures or errors
- Verify expected number of records processed
- Look for performance issues
- Ensure tasks complete within time limits
5. Set Up Notifications
- Get alerted if tasks fail
- Monitor completion of important batch jobs
- Track processing volumes
6. Break Up Large Tasks
- Process records in batches
- Use multiple tasks with different conditions
- Stagger execution times
7. Document Your Tasks
- What the task does
- Why it runs at this schedule
- Any dependencies or prerequisites
- Expected results and volumes
8. Organize with Folders
- Daily tasks folder
- Monthly billing tasks folder
- Maintenance tasks folder
- Reporting tasks folder
Task Allowances and Limits
Execution Time Limits
- Plus: 5 minutes
- Pro: 10 minutes
- Premium: 15 minutes
- Bronze: 20 minutes
- Enterprise: 1 hour
Tip: If tasks timeout, add more specific conditions or split into multiple tasks.
Frequency Limits
- Standard Plans: Daily minimum
- Enterprise Plans: Hourly, Every Minute, and custom intervals
Feature Restrictions
- Advanced Scheduling (RRule): Select higher-tier plans
- PDF Generation: Plans with PDF task support
- API Execution: Plans with API task support
Troubleshooting Scheduled Tasks
Task Not Running
- Is the task enabled?
- Is the start date in the future?
- Does your plan support the frequency?
- Are there any records matching conditions?
- Check task history for errors
Task Timing Out
- Add more specific conditions to reduce records processed
- Simplify the actions being performed
- Break into multiple smaller tasks
- Upgrade to a plan with longer execution time
Task Failing
- Review error message in task history
- Verify all required fields have values
- Check email addresses are valid
- Confirm connection fields are configured
- Test manually to reproduce error
Wrong Number of Records Processed
- Review conditions carefully
- Test conditions with sample data
- Verify date comparisons use correct format
- Check for records that match unexpectedly
Hands-On Exercise
Setup: Appointment System
- Create Appointments table with fields:
- Customer Name, Customer Email, Customer Phone
- Appointment Date, Appointment Time
- Status (Confirmed, Cancelled, Completed)
- Reminder Sent (Yes/No)
- Follow-Up Sent (Yes/No)
Create Tasks
- 24-Hour Reminder Task:
- Schedule: Daily at 9:00 AM
- Table: Appointments
- Conditions: Appointment Date equals Tomorrow, Status equals "Confirmed", Reminder Sent equals "No"
- Actions:
- Send Email with appointment details
- Send SMS reminder
- Update Reminder Sent to "Yes"
- Follow-Up Task:
- Schedule: Daily at 6:00 PM
- Table: Appointments
- Conditions: Appointment Date equals Yesterday, Status equals "Completed", Follow-Up Sent equals "No"
- Actions:
- Send Email asking for feedback
- Update Follow-Up Sent to "Yes"
- Mark Completed Task:
- Schedule: Daily at 11:59 PM
- Table: Appointments
- Conditions: Appointment Date equals Today, Status equals "Confirmed"
- Actions:
- Update Status to "Completed"
Test the Tasks
- Create test appointments with tomorrow's date
- Run the 24-Hour Reminder task manually
- Verify:
- Email sent to customer
- SMS sent (if configured)
- Reminder Sent field updated to "Yes"
- Check task history for success/failure
Summary
- Run automatically at specified intervals
- Process multiple records in batch
- Perfect for reminders, recurring billing, and maintenance
- Support daily, weekly, monthly, and custom schedules
- Can be run manually for testing
- Include detailed history and monitoring
- Essential for automated, hands-off workflows
Next: Email and SMS Automation
We'd love to hear your feedback.