Skip to content
Zumu

Outcomes land in your system.

When a conversation ends, Zumu writes your payload from it and delivers it signed, with retries.

DeliveriesLinden Animal ClinicExample
EventDelivered toResult
Summary ready08:17:31hooks.lindenanimal.example/zumu204Sent
Conversation ended08:17:26Slack · #front-deskpostedSent
Email processed07:58:44Zendesk · ticketupdatedSent
Conversation transferred07:41:19HubSpot · contactupdatedSent
Email needs review07:30:06Slack · #officepostedSent
Summary ready07:12:50hooks.lindenanimal.example/zumu204Sent

The payload

One sentence in. A typed payload out.

Zumu reads the transcript and the tool results, then fills your schema. A required field that isn’t in the conversation skips the run, with its reason; it never invents an ID.

The instruction

New visits → clinic board

Front desk · Linden Animal Clinic

When
Summary ready
  • duration_seconds ≥ 60
  • variable.appointment exists
Then
“Send the new visit to the clinic board: phone, owner, pet, reason and slot, with the visit ID.”

What it read

  1. Caller ID

    +1 212 555 01181

  2. Hannah

    Hi, it’s Hannah Kerr.2 My beagle, Biscuit,3 has been limping since this morning.4

  3. Tool

    book_visit 201 · Thu 9:40 AM5 visit LV-44716

  4. Agent

    Biscuit is booked for Thursday at 9:40 with Dr. Lund.

What it sent

payload.json
{
  "phone": "+1 212 555 0118",1
  "owner": "Hannah Kerr",2
  "pet": "Biscuit, beagle",3
  "reason": "Limping since this morning",4
  "slot": "Thu 9:40 AM",5
  "visit_id": "LV-4471"6
}

POST hooks.lindenanimal.example/zumu204Sent

Skipped

The next run

09:02:15 · Summary ready
Conditions matched, 2 of 2

What it read

A pet sitter booked the visit and never gave the owner’s name.

What it sent

Nothing sent

reason: “owner” is required and is not in the conversation

Also starts on

  • Conversation
    • Transferred
    • Ended
  • Email
    • Processed
    • Needs review
    • Processed with errors
    • Failed
  • Outbound
    • Attempt ended
    • Campaign ended

Every run on the record.

The request Zumu sent and every answer it got, kept beside the conversation they came from. In code, the same automation is one agent_trigger_create call on Zumu’s MCP server, live when you publish.

Run · New visits → clinic boardSent

call: Hannah Kerr · Front desk · 8:14 AM

run: 08:17:31 · Summary ready

conditions: matched, 2 of 2

endpoint: hooks.lindenanimal.example/zumu

attempt 1: 503 · retried in 1 s

attempt 2: 204 · delivered, signed

agent_trigger_create
{
  "trigger": {
    "agentId": "<agent_id>",
    "branchId": "<branch_id>",
    "name": "New visits → clinic board",
    "triggerType": "AGENT_TRIGGER_TYPE_SUMMARY_READY",
    "conditions": [
      { "conditionField": "duration_seconds",
        "operator": "AGENT_TRIGGER_CONDITION_OPERATOR_GTE",
        "conditionValue": "60" },
      { "conditionField": "variable.appointment",
        "operator": "AGENT_TRIGGER_CONDITION_OPERATOR_EXISTS" }
    ],
    "toolId": "<your_endpoint_tool_id>",
    "actionName": "post_visit",
    "instruction": "Send the new visit to the clinic board: phone, owner, pet, reason and slot, with the visit ID.",
    "maxAttempts": 3
  }
}

Route every outcome to where your team works.

Pick the endpoint or channel; we write the automation and its payload with you.

POST hooks.lindenanimal.example/zumu204Sentattempt 2 · signed

See the payload