When a Harmony call ends
This monday trigger runs after each Harmony call to a contact enrolled from monday. It doesn't run when the contact's item has left the trigger's board, for test calls from the agent builder, or for transferred calls.
Inputs
- Board (required): the board mapped in Harmony.
- Voice agent (optional): run only for this agent's calls. Leave empty to include every agent.
Outputs
- Board and Item: the contact's board and item.
- Call details: every field listed under call details, as JSON text. Parse it in a Code block, as in Log transcript and summary.
Each of these outputs copies one call details field:
| Output | Call details field | Type |
|---|---|---|
| Call ID | callId | Text |
| Contact ID | contactId | Text |
| Voice agent ID | agentId | Text |
| Voice agent name | agentName | Text |
| Direction | direction | Text |
| Start time | startTime | Text |
| End time | endTime | Text |
| Duration (seconds) | durationSeconds | Number |
| Attempt | attempt | Number |
| Call result | callResult | Text |
| Contact status | contactStatus | Text |
| End reason | endReason | Text |
| Last call | isLastCall | True or false |
Call details
Call details
{
"callId": "0196f0b4-2a1c-7d3e-8f40-5b6c7d8e9f0a",
"contactId": "0196f0a2-8c1e-7b3a-9d41-2f6e5a7c8b90",
"direction": "outbound",
"agentId": "0196e8c1-4b2a-7c3d-9e5f-6a7b8c9d0e1f",
"agentName": "Sales qualifier",
"agentPhoneNumber": "+12125550123",
"startTime": "2026-10-10T14:03:12.000Z",
"endTime": "2026-10-10T14:06:41.000Z",
"durationSeconds": 209,
"attempt": 1,
"callResult": "qualified",
"contactStatus": "qualified",
"endReason": "normal",
"isLastCall": true,
"contactFields": {
"firstName": "Dana",
"lastName": "Levi",
"phone": "+12125550199",
"timezone": "America/New_York",
"externalId": "1234567890",
"sourceKind": "monday",
"customFields": { "company": "Acme" }
},
"collectedFields": { "meeting_time": "Tuesday 10:00" }
}
callId: the Harmony call ID. Use it to read the transcript.contactId: the Harmony contact ID.direction:outboundorinbound.agentIdandagentName: the agent that took the call.agentPhoneNumber: on outbound calls, the number the agent called from. Can benull.startTimeandendTime: ISO 8601 timestamps in UTC. Can benull.durationSeconds: the call length in seconds. Can benull.attempt: the attempt number of an outbound call.nullfor inbound calls.callResult: the result of the call, such asansweredorno_answer. See call result values. Can benull.contactStatus: the contact's status when the trigger runs. See contact status values. Can benull.endReason: why the call ended. Common values arenormal,hang_up,error,call_timeout,silence_timeout,call_dropped, andintercall_ended. Can benull.isLastCall:truewhen Harmony has no further call scheduled for the contact,falsewhen it will call again.contactFields: the contact's fields.externalIdis the monday item ID,sourceKindismonday, andcustomFieldsholds the fields you added in the column mapping, by Harmony key.collectedFields: values the agent collected during the call, by field name. Empty when the agent collected none.
Call result values
new, neutral_value_call, unknown, busy, no_answer, invalid_number, carrier_blocked, wrong_language, wrong_number, do_not_call, voicemail, ivr, contact_verified, not_interested, disqualified, callback_requested, human_busy, qualified, converted, answered, identified.
Contact status values
new, invalid, paused, unanswered, unreachable, connecting, answered, contact_verified, disqualified, qualified, converted, dont_call, dnc_blocked, not_assigned, assigned, not_answered, not_reached, reached, dnc.