Skip to main content

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:
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:
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: 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 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: 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.

Schedule

Run an automation on a repeating schedule instead of waiting for something to happen. The schedule is tied to a batch or a script, so it is the way to have Voxworks start the same work every morning without anyone pressing a button. In the create-automation window this option is described as “Runs on a recurring schedule with a batch or script”. Configuration options: Schedules must run at least 60 minutes apart. The app checks the expression as you type and will not save one that can fire more than once an hour, or one that does not use exactly five fields. When a schedule switches itself off A schedule turns itself off rather than repeating a failure. When it does, a banner on the automation explains why:
  • “The associated batch is no longer eligible to be scheduled.”
  • “The associated batch could not be found.”
  • “The associated script is inactive.”
  • “The associated script could not be found.”
  • “A scheduled run failed or timed out.”
  • “The automation is disabled.”
  • “The schedule configuration is invalid.”
  • “The automation is unavailable.”
Fix the underlying problem — re-open the batch, make the script active again, and so on — then click Re-enable schedule on the banner. A schedule switched off by a failed or timed-out run also disables its automation, so check the automation is enabled as well.

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.