Recipe
Zapier Invoice Follow-up
Track a Zap that reacts to an invoice event, creates a follow-up task, and records what happened.
Record task creation and follow-up outcomes
Use this recipe when a Zap creates a task, reminder, CRM update, or notification after an invoice or customer record changes.
When to use this recipe
Invoice events
A new, overdue, paid, or failed invoice starts the Zap.
Task creation
Zapier creates a task, reminder, CRM note, or notification for a teammate.
Customer follow-up
The receipt records why a follow-up exists and what action was taken.
Audit trail
Use the receipt when the Zap spans multiple apps and raw Zap history is too technical for the reader.
Workflow shape
Invoice trigger received
Zapier receives the invoice or billing event.
Fields formatted
Formatter or app steps prepare the useful summary fields.
Task created
Zapier creates the follow-up task or CRM note.
Receipt created
Webhooks by Zapier sends the receipt payload.
Outcome appended
A later event can record that the task was completed or escalated.
Request settings
- App
- Webhooks by Zapier
- Event
- Custom Request or POST
- Method
POST- URL
https://automationreceipts.com/api/v1/runs- Payload type
- JSON or raw JSON
- Headers
- Authorization and Content-Type
Headers
Authorization: Bearer aar_live_REPLACE_ME
Content-Type: application/json
Example run payload
Send this payload to POST https://automationreceipts.com/api/v1/runs. Replace example values with mapped values from Zapier when the workflow is ready.
Create Zapier invoice receipt
{
"automation_name": "Zapier Invoice Follow-up",
"run_uid": "zapier-invoice-REPLACE_WITH_UNIQUE_RUN_ID",
"source_type": "zapier",
"trigger_type": "invoice_event",
"status": "completed",
"risk_level": "low",
"input_summary": "A new invoice matched the follow-up conditions.",
"output_summary": "Zapier created a follow-up task for the account owner.",
"tools_used": "Zapier, billing app, task app",
"approval_required": false,
"approval_status": "not_required",
"final_action": "Follow-up task created.",
"events": [
{
"event_type": "trigger_received",
"event_label": "Invoice event received",
"event_summary": "The Zap started from the invoice trigger."
},
{
"event_type": "action_taken",
"event_label": "Task created",
"event_summary": "The Zap created the follow-up task."
}
]
}
Make run_uid unique
Use a Zap run value, invoice ID plus timestamp, task ID, or another dynamic value from the trigger/action data. Automation Receipts rejects duplicate run_uid values within the same workspace.
Events this recipe uses
| Event type | Label | What it records |
|---|---|---|
trigger_received |
Invoice event received | The Zap started from the billing or invoice trigger. |
action_taken |
Task created | The Zap created the follow-up task, CRM note, or notification. |
note |
Follow-up note | A person later added context or marked the task resolved. |
Append the final action
If the workflow continues after the receipt is created, append a timeline event using the original run_uid.
Append event request
curl -X POST "https://automationreceipts.com/api/v1/runs/zapier-invoice-REPLACE_WITH_UNIQUE_RUN_ID/events" \
-H "Authorization: Bearer aar_live_REPLACE_ME" \
-H "Content-Type: application/json" \
-d '{
"event_type": "action_taken",
"event_label": "Follow-up completed",
"event_summary": "The account owner completed the invoice follow-up task."
}'
Zapier notes
Use Custom Request for nested JSON
Custom Request is the clearest option when the payload includes an events array.
Keep mapped fields stable
If Zapier mapped values are blank, the JSON may still send but the receipt will be less useful. Test the Zap with real-looking example data.
Record the useful outcome
The receipt should explain the invoice trigger and final task or notification, not every intermediate Zap step.
Review is optional
Most invoice follow-up tasks can be completed receipts. Use review fields only when a person must approve before the next action.
Review and data notes
| Workflow state | Suggested fields |
|---|---|
| Task created automatically | status: "completed", approval_required: false, approval_status: "not_required" |
| Follow-up needs approval | status: "needs_review", approval_required: true, approval_status: "pending" |
| Task completed later | Append an action_taken event using the original run_uid. |
Send concise summaries by default. Avoid raw messages, documents, secrets, API keys, and full model payloads unless the receipt reader truly needs that information.
Troubleshooting
| Problem | What it usually means | Fix |
|---|---|---|
| 401 unauthorized | The bearer token is missing, wrong, or revoked. | Use the full active API key in the Authorization header. |
| 409 duplicate run_uid | A receipt already exists with that run ID in the workspace. | Map a dynamic value into run_uid for each workflow run. |
| 422 validation error | A required field is missing or a machine value is not allowed. | Check automation_name, run_uid, summaries, source_type, status, and approval_status. |
| Zap sends previous-step fields | The Custom Request Data field is empty or not set to the intended JSON body. | Paste the JSON body into Data and set the payload/header options clearly. |
| Mapped value breaks JSON | A mapped field contains quotes or unexpected blank output. | Use Zapier testing tools and formatters to confirm the final raw JSON is valid. |