Workflow Triggers and Steps Reference

Reference for every Edesy workflow trigger (call ended, data extracted, manual, API, scheduled, CRM webhook) and every step type, with the variables each one can use.

4 min readUpdated

Every workflow has one trigger and one or more steps. This page lists each trigger, each step type and the variables available to steps. Call-based triggers can be limited to one or several agents; the Call ended trigger can also be filtered by call outcome.

Triggers#

Trigger ID Fires when Filters
Call ended call.ended A voice call ends Agents; call outcomes (dispositions)
Data extracted data.extracted Post-call extraction finishes for a call Agents
Manual manual You run it from the dashboard -
API call api_call Your system calls the trigger endpoint -
Scheduled scheduled On a schedule (cron) -
CRM webhook crm_webhook Your CRM sends an event, for example a new lead -

A call-based trigger with no agent selected listens to every agent in the workspace.

Trigger from the API#

curl -X POST https://voice-agent.edesy.in/api/v1/workflows/WORKFLOW_ID/trigger \
  -H "Authorization: Bearer $EDESY_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "recipientPhone": "+91XXXXXXXXXX", "recipientName": "Asha" }'

Steps#

Step Type ID What it does
Voice call VOICE_CALL Calls a number with a chosen agent. Can wait for the call to end or for its extraction before the next step
WhatsApp template WHATSAPP_TEMPLATE Sends an approved WhatsApp template message
WhatsApp bot WHATSAPP_BOT Starts a WhatsApp bot conversation
SMS SMS Sends an SMS
Email EMAIL Sends an email
Condition CONDITION Branches on a variable, for example disposition == QUALIFIED
Delay DELAY Waits before the next step. Can respect callback hours
Set variable SET_VARIABLE Sets or computes a variable for later steps
CRM update CRM_UPDATE Creates or updates a lead or contact via Edesy workflow integrations
Webhook WEBHOOK Sends an HTTP request to your URL
Google Sheets update GOOGLE_SHEETS_UPDATE Updates a row
Google Sheets append GOOGLE_SHEETS_APPEND Adds a row
Google Sheets lookup GOOGLE_SHEETS_LOOKUP Finds a row and makes its columns available as variables
Send payment link SEND_PAYMENT_LINK Creates and sends a Razorpay, Stripe or PayU link
Calendar booking CALENDAR_BOOK Books a slot on a connected calendar

Variables#

Steps use {{variable}} placeholders. Extracted fields are flattened to the top level, so a template field budget_range is {{budget_range}}.

Variable Call ended Data extracted Meaning
recipientPhone Yes Yes The caller's number
recipientName Yes Yes The caller's name, if known
disposition Yes Yes The call outcome, such as QUALIFIED
callStatus Yes Yes Conversation status
callDuration Yes Yes Duration in seconds
conversationId Yes Yes The call ID
endReason Yes Yes Why the call ended
callTranscript Yes Yes The full transcript
callRecordingUrl Yes Yes The recording link
agentName Yes Yes The agent that handled the call
callSource Yes Yes campaign, api, inbound or test
campaignName, campaignId Yes Yes The campaign, if any
_timestamp Yes Yes Call time (DD/MM/YYYY HH:mm IST)
callSummary - Yes The AI summary
Your extracted fields - Yes For example {{buying_intent}}

FAQs#

How do I run a step only for qualified leads? Filter the Call ended trigger by outcome, or add a Condition step on {{disposition}}.

What happens if a step fails? The execution is marked failed at that step. Fix the cause and retry it from the execution history.

Can a workflow call the same person again later? Yes. Add a Delay and then a Voice call step, for example for a callback.

Was this page helpful?