Review overdue requests every morning
Search a selected request table on a daily schedule and handle matching records separately from an empty result.
Swipe sideways to explore the workflow branches.
TRIGGERCron
Example configuration
{ "cronExpression": "0 0 9 * * ?", "timezone": "UTC", "mode": "advanced" }requestsFind Database Rows
Example configuration
{ "databaseId": null, "tableId": null, "columns": [], "combinator": "AND", "filters": [], "sorts": [], "limit": 20 }- Rows found
matchingRequestsSet Variable
Example configuration
{ "variableValue": [ { "$tag": "Variable", "name": "requests.rowsJson" } ] }
- No rows found
nothingDueSet Variable
Example configuration
{ "variableValue": [ { "$tag": "Constant", "value": "No matching requests were found." } ] }
- Rows found
This diagram follows the downloadable workflow. Edit and run it in Chatigram.Swipe the diagram to explore its branches.
Plan availability #
| Feature | Free | Starter | Pro | Enterprise |
|---|---|---|---|---|
| Databases | Not included | 1 | 2 | Unlimited |
| 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.
The business outcome #
Search a selected request table on a daily schedule and handle matching records separately from an empty result.
This is an importable starter using Chatigram’s current native nodes. It needs destination-specific setup; it does not imply a dedicated connector for every CRM or ERP brand. Check your software’s API documentation and permissions.
Before you begin #
Select a database/table, add due-date or status filters, and choose the timezone. Review the selected columns before activation.
The reserved example.invalid endpoint is deliberately non-working. No real customer data, account credentials, or private resource identifiers are embedded. Keep the workflow disabled until setup is complete.
Configure the workflow #
- Select your request table in requests. The template intentionally has no private database or table identifiers.
- Set filters for your definition of overdue. A text field and a numeric timestamp need different comparisons; use the operators supported by your column type.
- Choose sorting and a sensible maximum row count. The initial filter list is empty and must be configured; otherwise a search can include unrelated requests.
- Connect matchingRequests to a reviewed reporting or notification step if needed. The empty-result path is explicit.
Test the outcomes #
- Add one test record that matches and another that should not match.
- Confirm a no-matches run takes the empty-result path.
- Verify the schedule and the meaning of a due date in your business timezone.
Open Workflow Activity after the test. Import validation checks the definition; it does not prove a remote API accepted the business operation. Check the destination before repeating a send or write.
Make it your own #
Put reusable public settings in Properties, configure credentials through the protected connection options, and keep explicit error paths. Explore App Connections for existing provider-specific actions you can substitute through the editor.
Use the copy controls below for the complete workflow or its first node. The diagram and downloads come from the same definition. Use Share recipe to share the guide’s public address.
Try this in Chatigram
Setup required. Select a database/table, add due-date or status filters, and choose the timezone. Review the selected columns before activation. Placeholder endpoints use example.invalid and cannot call a real business service. Keep the workflow disabled until you finish the setup and review its effects.
View workflow JSON
{
"format": "chatigram-workflow",
"version": 1,
"metadata": {
"sourceName": "Review overdue requests every morning",
"importHelp": {
"note": "Setup required. Select a database/table, add due-date or status filters, and choose the timezone. Review the selected columns before activation. Placeholder endpoints use example.invalid and cannot call a real business service. Keep the workflow disabled until you finish the setup and review its effects."
}
},
"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": "requests",
"parentId": null,
"branchIndex": 0,
"type": "DATABASE_FIND_ROWS",
"data": {
"databaseId": null,
"tableId": null,
"columns": [],
"combinator": "AND",
"filters": [],
"sorts": [],
"limit": 20
}
},
{
"$tag": "Node",
"id": "d0c00000-0000-4000-8000-000000000002",
"name": "matchingRequests",
"parentId": "d0c00000-0000-4000-8000-000000000001",
"branchIndex": 0,
"type": "SET_VARIABLE",
"data": {
"variableValue": [
{
"$tag": "Variable",
"name": "requests.rowsJson"
}
]
}
},
{
"$tag": "Node",
"id": "d0c00000-0000-4000-8000-000000000003",
"name": "nothingDue",
"parentId": "d0c00000-0000-4000-8000-000000000001",
"branchIndex": 1,
"type": "SET_VARIABLE",
"data": {
"variableValue": [
{
"$tag": "Constant",
"value": "No matching requests were found."
}
]
}
}
],
"gotos": []
}
}