Skip to main content

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.

The Automation Context

Every automation execution has a shared context — a data object that steps read from and write to as the pipeline runs. When a trigger fires, the context is initialized with the trigger data. Each step can add to or modify the context, and subsequent steps see the updated data. Think of it as a growing data bag that accumulates information as it passes through each step.

Context Field Paths

Field mappings and variable interpolation use dot-notation paths to reference data in the context. Here is every field path available:

Trigger Data

Available from the moment the automation starts.
PathDescription
trigger.*Raw fields from the trigger payload. For webhooks, these match the JSON keys in the POST body. For call events, these include call_id, call_type, call_status, contact_name, phone_user, actual_time.
Example: If a webhook sends { "phone": "+61400111222", "name": "John" }, the fields are trigger.phone and trigger.name.

Contact

Available after an Upsert Contact step runs, or automatically hydrated for Call Completed and Call Scheduled triggers.
PathDescription
contact.idContact UUID
contact.phone_numberPhone number in E.164 format
contact.first_nameFirst name
contact.last_nameLast name
contact.full_nameFull name (first + last)
contact.emailEmail address
contact.addressStreet address
contact.locationCity / region / country

Objects

Available after an Upsert Object step runs, or automatically hydrated for call event triggers.
PathDescription
objects.{type_name}.*Data fields of the linked object, keyed by object type name
Examples:
  • objects.monday_item.CRM_ID — The Monday.com item ID
  • objects.monday_item.board_id — The Monday.com board ID
  • objects.hubspot_deal.deal_id — A HubSpot deal ID

Source Data

Available after a Source step runs.
PathDescription
source.*Fields from the API response
Examples: source.notes, source.deal_stage, source.priority

Mapped Data

Available after a Transform step runs.
PathDescription
mapped.*Fields output by the transform step

Call Record

Available in post-call steps (steps after a Create Call step) and in Call Completed / Call Scheduled trigger automations.
PathDescription
call.idCall UUID
call.script_idScript used for the call
call.statusOutcome: completed, failed, voicemail, dropout, hang-up, rang-out, User unavailable, User rejected, cancelled
call.durationCall duration in seconds
call.actual_timeWhen the call took place
call.call_summaryAI-generated narrative summary
call.transcriptFull transcript as plain text
call.transcript_jsonStructured transcript with speaker turns
call.structured_dataAI-extracted structured fields (per your Script’s data collection schema)
call.objectivesObjective evaluation results (JSON)
call.success_evaluationOverall success evaluation
call.end_reasonWhy the call ended: user hangup, ai hangup, voicemail, failed
call.notesAgent-generated call notes

Destination Results

Available after Destination steps run.
PathDescription
results[].statusHTTP status or success indicator from the destination
results[].responseResponse data from the destination

Using Field Paths in Mappings

Field mappings appear in Transform, Upsert Contact, Upsert Object, and Destination steps. Each mapping has a source (where to read data) and a target (where to write it). Example — Transform step mapping webhook data to contact fields:
SourceTargetTransform
trigger.phonecontact.phone_number
trigger.first_namecontact.first_name
trigger.last_namecontact.last_nameuppercase

Available Transforms

TransformWhat It Does
uppercaseConvert text to UPPERCASE
lowercaseConvert text to lowercase
truncate:NTruncate text to N characters (e.g., truncate:100)
date:FORMATFormat a date string (e.g., date:YYYY-MM-DD)
to_stringConvert a number or boolean to a string
to_numberConvert a string to a number

Variable Interpolation in Templates

Email templates, SMS templates, webhook body templates, and URL fields support {{variable}} interpolation. Use the same dot-notation paths: Email subject:
Your call summary - {{contact.full_name}}
SMS template:
Hi {{contact.first_name}}, thanks for your time. Your call summary is ready.
Webhook body:
{
  "call_id": "{{call.id}}",
  "status": "{{call.status}}",
  "summary": "{{call.call_summary}}",
  "contact_name": "{{contact.full_name}}"
}

Sample Payloads and the Field Picker

For webhook-triggered automations, the field picker in the pipeline editor uses a sample payload to show you which trigger.* fields are available. To set a sample payload:
  1. Open the automation editor
  2. Click Test Webhook in the trigger panel
  3. Send a POST request to the webhook URL with representative data
  4. When the payload arrives, click Use as Sample
The sample payload is stored on the automation and powers the dropdown suggestions when you configure field mappings. You can update it at any time by sending a new test payload.