Quickstart

Send one JSON log from an automation and the app will create a readable receipt.

What to send

Send a short summary of what triggered the automation, what the AI produced, whether review is needed, and what action happened next.

Send summaries by default. Do not send full customer messages, private documents, secrets, API keys, or sensitive data unless you have a clear reason to store them.

Start with sample data before connecting real customer data. Do not paste API keys into screenshots, chat, public docs, or shared examples.

Using n8n n8n guide

Create a first receipt with Manual Trigger, Edit Fields, and one HTTP Request node.

Using code Custom scripts

Send receipts from PHP, PowerShell, cron jobs, Python scripts, and team tools.

Need reference Payload fields

See required fields, optional fields, allowed values, and event types.

Want an example Support recipe

Log a receipt for an AI-drafted support reply that needs review.

1. Create a run POST to /api/v1/runs

The API key chooses the workspace. The payload describes one automation run.

2. Include a unique ID run_uid

Use an ID from your workflow, or generate one from a timestamp. The same ID cannot be reused in a workspace.

3. Add events Timeline entries

Events make the receipt easy to read: trigger received, model called, review requested, action taken.

4. Review the receipt Open the receipt URL

Record the review outcome in Automation Receipts if useful, or keep approval in n8n, Slack, email, or another tool.

Endpoint

Method
POST
URL
https://automationreceipts.com/api/v1/runs
Auth header
Authorization: Bearer aar_live_...
Required fields
automation_name, run_uid, and at least one summary

API keys

Docs are public so you can review the flow before registering. After access is approved, create an API key in the app and use the full key value in your workflow.

Request access

Example first receipt

This creates a receipt for a support reply draft that needs someone to review it. Replace the sample fields with dynamic values from your workflow when you are ready.

curl -X POST "https://automationreceipts.com/api/v1/runs" \
  -H "Authorization: Bearer aar_live_REPLACE_ME" \
  -H "Content-Type: application/json" \
  -d '{
    "automation_name": "Support Reply Drafter",
    "run_uid": "support-demo-20260517-1042",
    "source_type": "n8n",
    "trigger_type": "new_support_email",
    "status": "needs_review",
    "risk_level": "medium",
    "input_summary": "Customer asked about refund options.",
    "output_summary": "AI drafted a polite refund-policy reply.",
    "model_used": "gpt-5.5",
    "approval_required": true,
    "approval_status": "pending",
    "final_action": "Draft created but not sent.",
    "events": [
      {
        "event_type": "trigger_received",
        "event_label": "Support email received",
        "event_summary": "A new support email triggered the workflow."
      },
      {
        "event_type": "model_called",
        "event_label": "AI draft generated",
        "event_summary": "The model generated a suggested reply."
      },
      {
        "event_type": "approval_requested",
        "event_label": "Review requested",
        "event_summary": "The draft is waiting for review."
      }
    ]
  }'

Append an event later

Use this when the workflow continues after the first receipt is created.

curl -X POST "https://automationreceipts.com/api/v1/runs/support-demo-20260517-1042/events" \
  -H "Authorization: Bearer aar_live_REPLACE_ME" \
  -H "Content-Type: application/json" \
  -d '{
    "event_type": "action_taken",
    "event_label": "Reply sent",
    "event_summary": "The approved support reply was sent to the customer.",
    "occurred_at": "2026-05-17T10:45:00+12:00"
  }'