> ## Documentation Index
> Fetch the complete documentation index at: https://docs.voxworks.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Triggers

> Triggers are the events that start an automation pipeline. Choose from inbound webhooks, call events, or integration events to kick off your workflows.

## What is a Trigger?

Every automation begins with a trigger — the event that starts the pipeline. When the trigger fires, Voxworks creates an execution and begins processing the automation's steps.

You choose the trigger type when you create an automation. Each trigger type populates the pipeline context with different data.

***

## Trigger Types

### Inbound Webhook

Receive data from any external system via an HTTP POST request. When you create a webhook-triggered automation, Voxworks generates a unique URL:

```text theme={null}
https://app.voxworks.ai/api/v1/hooks/{token}
```

Any system that can send HTTP requests — CRMs, form builders, Zapier, Make, custom backends — can trigger your automation by posting JSON to this URL.

**How to use it:**

1. Create a new automation and select **Inbound Webhook** as the trigger type
2. Copy the generated webhook URL from the trigger configuration panel
3. Configure your external system to POST JSON data to that URL
4. Use **Test Webhook** to send a test payload and verify the fields are received correctly
5. Click **Use as Sample** to save the payload structure for the field picker

**Example payload:**

```json theme={null}
{
  "phone": "+61400111222",
  "first_name": "John",
  "last_name": "Doe",
  "crm_id": "12345",
  "notes": "Interested in enterprise plan"
}
```

All fields from the payload are available in your pipeline as `trigger.phone`, `trigger.first_name`, `trigger.crm_id`, etc.

**HMAC signature verification (optional):**

For production integrations, you can enable HMAC signing. When enabled, Voxworks generates a secret key and requires all incoming requests to include an `X-Webhook-Signature` header containing an HMAC-SHA256 signature of the request body. Requests without a valid signature are rejected.

***

### Call Completed

Trigger an automation whenever a call finishes. This is the most common trigger for post-call workflows like CRM sync, follow-up emails, and team notifications.

**Configuration options:**

| Option                 | Description                                                                                                                                                                       |
| ---------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Script filter**      | Only trigger for calls using specific Scripts. Leave empty to match all Scripts.                                                                                                  |
| **Call status filter** | Only trigger for specific outcomes: `completed`, `failed`, `voicemail`, `dropout`, `hang-up`, `rang-out`, `User unavailable`, `User rejected`. Leave empty to match all statuses. |

**Context data:**

When a Call Completed trigger fires, Voxworks automatically loads the full call record into context. Your steps can access:

* `call.call_summary` — The AI-generated call summary
* `call.structured_data` — Structured fields extracted by the AI per your Script's schema
* `call.objectives` — Objective evaluation results
* `call.transcript` — Full transcript text
* `call.status` — How the call ended (`completed`, `failed`, `voicemail`, `User unavailable`, etc.)
* `call.end_reason` — Why the call ended (`user hangup`, `ai hangup`, `voicemail`, `failed`)
* `call.duration` — Call length in seconds
* `contact.*` — The contact's details (name, phone, email)
* `objects.*` — Any CRM objects linked to the contact

See [Field Mapping & Context](/automations/field-mapping) for the complete list of available fields.

***

### Call Scheduled

Trigger an automation when a new call is scheduled (before it has been placed). Useful for pre-call preparation workflows.

**Configuration options:**

| Option            | Description                                                              |
| ----------------- | ------------------------------------------------------------------------ |
| **Script filter** | Only trigger for calls using specific Scripts. Leave empty to match all. |

**Context data:**

The pipeline receives `trigger.call_id`. Voxworks hydrates the context with the call record, contact details, and linked objects.

***

### Integration Event

Trigger an automation from events in a connected integration (e.g., a status change in Monday.com, a new deal in HubSpot).

This trigger type requires an active integration connection. Select the integration and configure which events should fire the automation.

**Context data:**

The integration-specific event payload is available under `trigger.*`. The exact fields depend on the integration and event type.

***

## Safety and Limits

* **Payload size:** Webhook payloads are limited to 100KB. Larger payloads are rejected with a 413 error.
* **Loop prevention:** Calls created by an automation will not re-trigger that same automation's Call Completed trigger. This prevents infinite loops.
* **Idempotency:** Webhook requests can include an `X-Idempotency-Key` header. Duplicate keys are rejected with a 409 response, preventing the same event from being processed twice.
