Schedule a workflow
Use Cron for interval, daily, weekly, or monthly tasks, with explicit timezone choices and predictable tests.
TRIGGERCron
Example configuration
{ "cronExpression": "0 0 9 * * ?", "timezone": "UTC", "mode": "advanced" }dailyNoteSet Variable
Example configuration
{ "variableValue": [ { "$tag": "Constant", "value": "The daily scheduled workflow has started." } ] }
This diagram follows the downloadable workflow. Edit and run it in Chatigram.
Plan availability #
| Feature | Free | Starter | Pro | Enterprise |
|---|---|---|---|---|
| Active workflows | 3 | 10 | 45 | Unlimited |
Allowances follow the published Chatigram pricing page. Your organization’s Billing & Plans screen confirms its subscription and current usage. Plans can change. Plan information reviewed 2026-11-10.
Use the simple schedule controls #
Create a workflow with the Cron trigger. Choose a simple schedule mode such as an interval, hourly, daily, weekly, or monthly schedule. Set the timezone in the trigger.
For example, a daily task at 09:00 should use the timezone where “09:00” matters to your business. Do not rely on your own browser timezone to explain a schedule configured elsewhere.
Advanced expressions #
Use the advanced mode only when the simple controls cannot describe your schedule. Follow the expression format shown by Chatigram; cron formats can differ between systems.
The sample below uses 0 0 9 * * ? for a daily 09:00 schedule in UTC. It only sets a value and performs no external send or write. Change the timezone and schedule before enabling it for your own use.
Test the action before the schedule #
If the task performs an external action, first test an equivalent Manual workflow with a controlled resource. Then configure the schedule and verify an actual scheduled run in Workflow Activity.
The Run button is for Manual workflows; a scheduled workflow starts from its schedule. Saving a Cron workflow and enabling it are separate steps.
Plan for overlapping runs #
If a run can wait for input or a slow service, consider what happens when the next scheduled event arrives. Use a business identifier and check whether the intended work has already completed before performing a repeated external action.
Check missing runs #
Confirm the workflow is enabled, its configured timezone, and the next expected due time. Check activity rather than relying on a customer channel, because a scheduled workflow does not automatically have a conversation to reply to.
Try this in Chatigram
Review the daily 09:00 UTC schedule and choose your own timezone before enabling. This starter only sets a value; it does not send a message. Check its scheduled run in Workflow Activity.
View workflow JSON
{
"format": "chatigram-workflow",
"version": 1,
"metadata": {
"sourceName": "Daily schedule starter",
"importHelp": {
"note": "Review the daily 09:00 UTC schedule and choose your own timezone before enabling. This starter only sets a value; it does not send a message. Check its scheduled run in Workflow Activity."
}
},
"workflow": {
"instruction": null,
"multiLanguageSupport": null,
"properties": [],
"trigger": {
"$tag": "Trigger",
"type": "CRON",
"data": {
"cronExpression": "0 0 9 * * ?",
"timezone": "UTC",
"mode": "advanced"
}
},
"nodes": [
{
"$tag": "Node",
"id": "d0c00000-0000-4000-8000-000000000001",
"name": "dailyNote",
"parentId": null,
"branchIndex": 0,
"type": "SET_VARIABLE",
"data": {
"variableValue": [
{
"$tag": "Constant",
"value": "The daily scheduled workflow has started."
}
]
}
}
],
"gotos": []
}
}