Prepare a daily CRM pipeline report
Use a daily Cron trigger to retrieve CRM pipeline data and make the result available to your next reporting step.
Swipe sideways to explore the workflow branches.
TRIGGERCron
Example configuration
{ "cronExpression": "0 0 9 * * ?", "timezone": "UTC", "mode": "advanced" }pipelineExternal API integration
Example configuration
{ "request": { "method": "GET", "path": [ { "$tag": "Constant", "value": "https://business-api.example.invalid/crm/pipeline-report" } ], "headers": [ { "key": "Content-Type", "value": [ { "$tag": "Constant", "value": "application/json" } ] } ], "queryStrings": [], "body": [ { "$tag": "Constant", "value": "" } ] }, "responseHandlers": [ { "$tag": "GetWholeAsString", "variableName": "response" } ] }- Success
reportSet Variable
Example configuration
{ "variableValue": [ { "$tag": "Variable", "name": "pipeline.response" } ] }
- Error
reportFailureSet Variable
Example configuration
{ "variableValue": [ { "$tag": "Constant", "value": "Pipeline report unavailable; inspect the run before retrying." } ] }
- Success
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 |
|---|---|---|---|---|
| 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 #
Use a daily Cron trigger to retrieve CRM pipeline data and make the result available to your next reporting step.
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 #
Choose the timezone, CRM report URL, authorization, and date/status filters. Add your reviewed delivery step after report if needed.
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 #
- Review the 09:00 UTC schedule and change it to the business timezone that should define the report day.
- Configure pipeline to use your CRM’s reporting or search endpoint. Choose a bounded date range and the intended deal stages.
- The report step receives the extracted response. Add formatting or a selected field extractor before sending it to a team.
- If you add an email or messaging action, configure a test recipient first. The supplied starter does not send the report.
Test the outcomes #
- Check one scheduled run and its report output.
- Compare totals with the CRM’s own report for the same filters and timezone.
- Confirm the failure path does not distribute an empty report as a successful one.
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. Choose the timezone, CRM report URL, authorization, and date/status filters. Add your reviewed delivery step after report if needed. 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": "Prepare a daily CRM pipeline report",
"importHelp": {
"note": "Setup required. Choose the timezone, CRM report URL, authorization, and date/status filters. Add your reviewed delivery step after report if needed. 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": "pipeline",
"parentId": null,
"branchIndex": 0,
"type": "HTTP_REQUEST_NODE_TYPE",
"data": {
"request": {
"method": "GET",
"path": [
{
"$tag": "Constant",
"value": "https://business-api.example.invalid/crm/pipeline-report"
}
],
"headers": [
{
"key": "Content-Type",
"value": [
{
"$tag": "Constant",
"value": "application/json"
}
]
}
],
"queryStrings": [],
"body": [
{
"$tag": "Constant",
"value": ""
}
]
},
"responseHandlers": [
{
"$tag": "GetWholeAsString",
"variableName": "response"
}
]
}
},
{
"$tag": "Node",
"id": "d0c00000-0000-4000-8000-000000000002",
"name": "report",
"parentId": "d0c00000-0000-4000-8000-000000000001",
"branchIndex": 0,
"type": "SET_VARIABLE",
"data": {
"variableValue": [
{
"$tag": "Variable",
"name": "pipeline.response"
}
]
}
},
{
"$tag": "Node",
"id": "d0c00000-0000-4000-8000-000000000003",
"name": "reportFailure",
"parentId": "d0c00000-0000-4000-8000-000000000001",
"branchIndex": 1,
"type": "SET_VARIABLE",
"data": {
"variableValue": [
{
"$tag": "Constant",
"value": "Pipeline report unavailable; inspect the run before retrying."
}
]
}
}
],
"gotos": []
}
}