Types can change by context. In particular, now is a timestamp on the shared clock contexts and an integer-parts map for computed Form fields. See contexts.
actor
| Variable | Type | Meaning | Contexts |
|---|
actor.email | string | Email of the Member who performed the action | Set 9 |
actor.external_id | string | External ID of the Member who performed the action | Set 9 |
actor.first_name | string | First name of the Member who performed the action | Set 9 |
actor.id | number | ID of the Member who performed the action | Set 9 |
actor.last_name | string | Last name of the Member who performed the action | Set 9 |
actor.name | string | Name of the Member who performed the action | Set 9 |
actor.phone | string | Phone of the Member who performed the action | Set 9 |
assignment
| Variable | Type | Meaning | Contexts |
|---|
assignment.created_at | timestamp | When the assignment was created. Supports timestamp comparison and duration arithmetic (e.g. now > assignment.created_at + duration("4h")). Use string(assignment.created_at) for string comparison. | Set 8 |
assignment.id | number | Assignment ID | Set 8 |
assignment.is_test | boolean | Whether this is a test assignment | Set 22 |
assignment.outcome | string | Assignment outcome | Set 22 |
assignment.status | string | Assignment status | Set 22 |
assignment.uuid | string | Assignment UUID | Set 8 |
assignment.workflow_id | number | Workflow this conversation belongs to | Set 21 |
assignment_data_records
| Variable | Type | Meaning | Contexts |
|---|
assignment_data_records.count | number | Number of data records attached to the Assignment | Set 22 |
assignment_data_records.data | object | Field values of the Assignment's records, keyed by Form slug — every routing mode, unlike record.data. Only Forms the run actually wrote are keys, so guard a Form that may be absent: has(assignment_data_records.data.intake.status) | Set 24 |
assignment_data_records.slugs | list | Form slugs attached to the Assignment | Set 22 |
assignment_tasks
| Variable | Type | Meaning | Contexts |
|---|
assignment_tasks.current | string | Name of the current Task | Set 22 |
assignment_tasks.visited | list | Names of visited Tasks | Set 22 |
assignment_tasks.visited_count | number | Number of visited Tasks | Set 22 |
call
| Variable | Type | Meaning | Contexts |
|---|
call.answered_by | string | Answering-party classification | Set 13 |
call.caller_number | string | Caller phone number | Set 13 |
call.disposition | string | Call completion disposition | Set 13 |
chat
| Variable | Type | Meaning | Contexts |
|---|
chat.channel | string | Channel the Chat arrived on (phone-sms, phone-voice, phone-whatsapp, email, web-chat, …) | Set 6 |
chat.channel | string | Chat channel | Set 22 |
chat.chat_type | string | Chat type (assignment, dm, manager, …) | Set 6 |
chat.duration_seconds | number | Chat duration in seconds | Set 22 |
chat.escalated | boolean | Whether the agent handed this conversation to a human. Lets Agent Handoff Rate be a deterministic expression instead of an LLM rubric. Recorded whether or not the escalation pauses the chat, so it does not depend on 'pause on escalate'. | Set 21 |
chat.escalation_count | number | How many distinct times this conversation asked for a person. Re-raising an escalation that is still open does not count again, so this is handoffs, not tool invocations. | Set 21 |
chat.escalation_reason_codes | array | Escalations-by-type: the workspace-configured reason slugs on this conversation's escalations, deduped and sorted so a grouping is stable. Empty until reason lists are configured. | Set 21 |
chat.id | number | Chat ID | Set 6 |
chat.is_test | boolean | Whether the Chat is a test Chat | Set 6 |
chat.message_count | number | Number of messages in the Chat | Set 22 |
chat.paused | boolean | Whether the Chat is paused | Set 6 |
chat.title | string | Chat title ("" when the Chat has none) | Set 6 |
chat.uuid | string | Chat UUID | Set 6 |
configuration_blockers
| Variable | Type | Meaning | Contexts |
|---|
configuration_blockers | list | Detected workflow configuration blockers | Set 22 |
current_date
| Variable | Type | Meaning | Contexts |
|---|
current_date | string | Current date (YYYY-MM-DD) | Set 5 |
current_time
| Variable | Type | Meaning | Contexts |
|---|
current_time | string | Current time (HH:MM) | Set 5 |
datetime
| Variable | Type | Meaning | Contexts |
|---|
datetime.day_of_month | number | Day of month (1-31), workspace timezone | Set 5 |
datetime.day_of_week | number | Day of week (0=Monday, 6=Sunday), workspace timezone | Set 5 |
datetime.has_member_timezone | boolean | Whether the member has their own timezone. False means the datetime.member_* fields fell back to workspace time. | Set 5 |
datetime.hour | number | Current hour (0-23), workspace timezone. Compare as a range, e.g. datetime.hour >= 9 && datetime.hour < 12. Evaluated once, at the instant the event is dispatched — an equality test (== N) DROPS the action whenever the dispatch lands on any other value, and the step/rule still reports success. Use a range instead, and for Journey send windows use the Journey's Active Hours setting, which holds a step until it is in-window rather than discarding it. | Set 5 |
datetime.member_day_of_month | number | Day of month (1-31) in the member's own timezone | Set 5 |
datetime.member_day_of_week | number | Day of week (0=Monday, 6=Sunday) in the member's own timezone | Set 5 |
datetime.member_hour | number | Current hour (0-23) in the member's own timezone. Use this for member-local cadences — as a range, e.g. datetime.member_hour >= 9 && datetime.member_hour < 12. Evaluated once, at the instant the event is dispatched — an equality test (== N) DROPS the action whenever the dispatch lands on any other value, and the step/rule still reports success. Use a range instead, and for Journey send windows use the Journey's Active Hours setting, which holds a step until it is in-window rather than discarding it. datetime.hour is workspace time. Falls back to workspace time when the member has no timezone — guard with datetime.has_member_timezone when that matters. | Set 5 |
datetime.member_minute | number | Current minute (0-59) in the member's own timezone. Evaluated once, at the instant the event is dispatched — an equality test (== N) DROPS the action whenever the dispatch lands on any other value, and the step/rule still reports success. Use a range instead, and for Journey send windows use the Journey's Active Hours setting, which holds a step until it is in-window rather than discarding it. | Set 5 |
datetime.member_month | number | Month (1-12) in the member's own timezone | Set 5 |
datetime.member_second | number | Current second (0-59) in the member's own timezone. Evaluated once, at the instant the event is dispatched — an equality test (== N) DROPS the action whenever the dispatch lands on any other value, and the step/rule still reports success. Use a range instead, and for Journey send windows use the Journey's Active Hours setting, which holds a step until it is in-window rather than discarding it. | Set 5 |
datetime.member_timestamp | timestamp | Current timestamp rendered in the member's own timezone — the same instant as now and datetime.timestamp. Supports timestamp comparison and duration arithmetic (e.g. x + duration("4h")). | Set 5 |
datetime.member_timezone | string | IANA timezone the datetime.member_* fields were resolved in — the member's own timezone, or the workspace timezone when the member has none. | Set 5 |
datetime.member_year | number | Current year in the member's own timezone | Set 5 |
datetime.minute | number | Current minute (0-59), workspace timezone. Evaluated once, at the instant the event is dispatched — an equality test (== N) DROPS the action whenever the dispatch lands on any other value, and the step/rule still reports success. Use a range instead, and for Journey send windows use the Journey's Active Hours setting, which holds a step until it is in-window rather than discarding it. | Set 5 |
datetime.month | number | Month (1-12), workspace timezone | Set 5 |
datetime.timestamp | timestamp | Current timestamp — the same instant as now. Supports timestamp comparison and duration arithmetic (e.g. x + duration("4h")). Use string(datetime.timestamp) for string comparison. | Set 5 |
datetime.year | number | Current year, workspace timezone | Set 5 |
effect_intents
| Variable | Type | Meaning | Contexts |
|---|
effect_intents.events | list | Effects this test run TRIED to perform and a capability door recorded instead (IDs and closed values only; never content, addresses or URLs). Each item is {id, capability, status, task_id, payload}; payload depends on capability — "notification_delivery": {recipient_member_id, intervention_request_id, requested_channels, eligible_channels, prepared_channels, preparation}; "sms_whatsapp_send": {channel, purpose, recipient_member_id, sender_phone_number_id, media_attached}; "workspace_email_delivery": {delivery ("send"/"reply"), inbox_id, recipients [{role (to/cc/bcc), member_id}]}; "pstn_originate": {target_chat_id, phone_call_id, target_member_id, phone_number_id, workflow_id}; "webhook_delivery": {event_rule_id, event_type, event_id, submission}; "journey_enrollment": {journey_id, member_id, member_journey_id, event_rule_id, disposition ("created"/"reenrolled"/"already_enrolled"/"refused"), reason} — reason is a closed refusal code, set only when disposition is "refused", and member_journey_id is set only when an enrollment exists. status "simulated" means prepared and refused at the door — never delivered. A webhook also records status "enqueued" when Temporal accepted the delivery (submission says how); its "simulated" row with the same event_id appears only once the delivery activity has run, so its absence means not observed YET, not failed. Guard payload fields by capability: effect_intents.events.exists(e, e.capability == "sms_whatsapp_send" && e.status == "simulated" && e.payload.channel == "sms"). | Set 24 |
effect_intents.recording_failed | boolean | True when an effect this run attempted could NOT be recorded, so the list is known to be missing it (implies truncated). Such a run is recorded as an instrument failure and is not graded; a criterion never needs to special-case it. | Set 24 |
effect_intents.truncated | boolean | True when the recorded set is incomplete (over the read bound, or a row this build cannot read). A criterion that needs every intent — e.g. "nothing else was attempted" — must also require !effect_intents.truncated. An empty list cannot tell a run that attempted nothing from one recorded before this feature. | Set 24 |
fax
| Variable | Type | Meaning | Contexts |
|---|
fax.connection_id | number | Documo connection that received the fax (0 when the fax arrived on a workspace phone number) | Set 14 |
fax.filename | string | Filename of the stored PDF (empty string when absent) | Set 14 |
fax.id | number | Inbound fax ID | Set 14 |
fax.page_count | number | Number of pages received (0 when the provider reported none) | Set 14 |
fax.pdf_file_id | number | File ID of the received PDF (0 when absent) | Set 14 |
fax.phone_number_id | number | Workspace phone number that received the fax (0 when the fax arrived through a Documo connection) | Set 14 |
fax.received_at | string | ISO 8601 timestamp of when the fax became durably stored (empty string when it never did) | Set 14 |
fax.sender_csid | string | Station identifier the sending fax machine transmitted about itself. Entirely self-declared — provenance, never identity. Empty string when unavailable. | Set 14 |
fax.sender_number | string | Calling number the provider reported. An unauthenticated, spoofable claim by the sender — provenance, never identity. Empty string when unavailable. | Set 14 |
fax.source | string | Endpoint the fax arrived on: documo or phone_number | Set 14 |
fax.status | string | Ingestion status: pending, received, or failed | Set 14 |
fax.tiff_file_id | number | File ID of the original raster, when the provider supplied one (0 otherwise) | Set 14 |
fax.uuid | string | Inbound fax UUID | Set 14 |
is_business_hours
| Variable | Type | Meaning | Contexts |
|---|
is_business_hours | boolean | Whether current time is within business hours | Set 5 |
journey
| Variable | Type | Meaning | Contexts |
|---|
journey.enrolled_at | timestamp | Timestamp when the member was enrolled. Supports days_since(...) and now > journey.enrolled_at + duration("72h"). | Set 15 |
journey.id | number | Journey ID | Set 15 |
journey.name | string | Journey name | Set 15 |
journey.position.entered_at | timestamp | Timestamp when this enrollment entered its current position — when the current touch became eligible, or when the member completed the previous touch and began waiting for the next one. Null when the step ledger has no timestamp for it, in which case a time comparison is false and the ending does not apply. Use it for stall rules such as days_since(journey.position.entered_at) >= 7. | Set 20 |
journey.status | string | Member's journey status (active, completed, exited) | Set 15 |
journey.step_id | number | Current step ID | Set 15 |
journey.step_name | string | Current step name | Set 15 |
member
| Variable | Type | Meaning | Contexts |
|---|
member.age | number | Member age in whole years | Set 3 |
member.date_of_birth | string | Member date of birth (YYYY-MM-DD) | Set 3 |
member.email | string | Member email address | Set 4 |
member.email | string | Member's email address | Set 23 |
member.fields | object | Custom MemberField values keyed by the raw "{namespace}:{key}" string (CSV import, Monday sync, connection-owned IDs). Keys contain ':' so bracket access is required — e.g. member.fields["salesforce:id"] == "001..." or "fhir:patient_id" in member.fields. | Set 4 |
member.fields["namespace:key"] | string | Custom MemberField values keyed by the raw "{namespace}:{key}" string (CSV import, Monday sync, connection-owned IDs). Keys contain ':' so bracket access is required — e.g. member.fields["salesforce:id"] == "001..." or "fhir:patient_id" in member.fields. | Set 4 |
member.first_name | string | Member first name | Set 4 |
member.form_data | object | Member's custom form data fields | Set 4 |
member.id | number | Member ID | Set 1 |
member.id | number | Member the chat belongs to | Set 21 |
member.id | number | Workspace member ID | Set 23 |
member.is_test | boolean | Whether this is a test Member | Set 21 |
member.labels | list | List of label slug strings applied to the member. Each element is a plain string (e.g. "active"). Use '"slug" in member.labels' or 'member.labels.exists(l, l == "slug")' — NOT 'l.slug' (labels are strings, not objects). | Set 1 |
member.last_name | string | Member last name | Set 4 |
member.name | string | Member full name | Set 1 |
member.name | string | Member's full name | Set 23 |
member.phone | string | Member phone number | Set 4 |
member.phone | string | Member's phone number | Set 23 |
message
| Variable | Type | Meaning | Contexts |
|---|
message | string | The message content (for message events) | Set 11 |
messages
| Variable | Type | Meaning | Contexts |
|---|
messages | list | Normalized Chat messages | Set 22 |
now
| Variable | Type | Meaning | Contexts |
|---|
now | timestamp | Current timestamp. Use for time gates such as now > parent_step.completed_at + duration("4h"). Compare against a string literal with string(now) > "2026-01-01". | Set 5 |
now.day | number | Current day of month (1-31) | Set 2 |
now.hour | number | Current hour (0-23) | Set 2 |
now.minute | number | Current minute (0-59) | Set 2 |
now.month | number | Current month (1-12) | Set 2 |
now.second | number | Current second (0-59) | Set 2 |
now.weekday | number | Current weekday (0=Monday, 6=Sunday) | Set 2 |
now.year | number | Current year | Set 2 |
parent_step
| Variable | Type | Meaning | Contexts |
|---|
parent_step.activated_at | timestamp | Timestamp when parent step became in-progress | Set 18 |
parent_step.completed_at | timestamp | Timestamp when the parent step completed (null if not completed). Supports days_since(parent_step.completed_at) >= 7 and now > parent_step.completed_at + duration("4h"). | Set 18 |
parent_step.eligible_at | timestamp | Timestamp when parent step became eligible | Set 18 |
parent_step.name | string | Parent step name | Set 18 |
parent_step.status | string | Parent step status (completed, skipped, timed_out, failed) | Set 18 |
pmd_pages
| Variable | Type | Meaning | Contexts |
|---|
pmd_pages | list | PHI-free completeness of send_charleston_pmd_page calls. Each item is {call_kind, complete, missing} where missing is required field names from the integration's per-kind set — never values. Empty when the run sent no page. Grade with pmd_pages.exists(p, p.call_kind == "hospital_consult_call" && p.complete). | Set 24 |
record
| Variable | Type | Meaning | Contexts |
|---|
record.created_at | string | Record creation timestamp | Set 10 |
record.data | object | Strict-workflow session Form data | Set 22 |
record.external_id | string | Record external ID | Set 10 |
record.id | number | Record ID | Set 10 |
record.updated_at | string | Record last update timestamp | Set 10 |
scenario
| Variable | Type | Meaning | Contexts |
|---|
scenario.channel | string | Scenario channel | Set 24 |
scenario.goal | string | Scenario goal | Set 24 |
scenario.name | string | Scenario name | Set 24 |
scenario.slug | string | Scenario slug | Set 24 |
source
| Variable | Type | Meaning | Contexts |
|---|
source.age | number | Member age in whole years | Set 23 |
source.archived | string | Whether the member is archived ('true'/'false') | Set 23 |
source.created_at | string | ISO timestamp when the member was created | Set 23 |
source.created_at | string | Remote item creation timestamp | Set 17 |
source.date_of_birth | string | Member date of birth (YYYY-MM-DD) | Set 23 |
source.email | string | Email (auto-promoted from email-typed columns) | Set 17 |
source.email | string | Email address | Set 23 |
source.external_id | string | External ID of the member | Set 23 |
source.fields | object | Managed fields keyed by field key | Set 23 |
source.form_data | object | Form data keyed by DataType slug, then field slug | Set 23 |
source.id | string | Workspace member ID (as string) | Set 23 |
source.item_id | string | Remote item ID | Set 17 |
source.labels | object | Member labels keyed by label name | Set 23 |
source.member_type | string | Member type | Set 23 |
source.name | string | Member name | Set 23 |
source.name | string | Remote item/record name | Set 17 |
source.phone | string | Phone (auto-promoted from phone-typed columns) | Set 17 |
source.phone | string | Phone number | Set 23 |
source.role | string | Member role name | Set 23 |
source.uuid | string | Member UUID | Set 23 |
strict_trace
| Variable | Type | Meaning | Contexts |
|---|
strict_trace.attempted_commands | array | Every strict command invoke attempt (incl. unavailable) | Set 22 |
strict_trace.commands | array | Strict-workflow commands successfully invoked, in order | Set 22 |
strict_trace.events | array | Full strict execution trace (type / name / task_id / status / payload) | Set 22 |
strict_trace.task_path | array | Task names entered by the strict engine, in order | Set 22 |
task
| Variable | Type | Meaning | Contexts |
|---|
task.id | number | Task ID | Set 7 |
task.name | string | Task name | Set 7 |
task.uuid | string | Task UUID | Set 7 |
testChatRun
| Variable | Type | Meaning | Contexts |
|---|
testChatRun.driverMemberId | number | Member ID for a human-driven test Chat | Set 24 |
testChatRun.driverMode | string | Test Chat driver mode | Set 24 |
| Variable | Type | Meaning | Contexts |
|---|
tool_invocations | list | List of tools invoked this turn. Each entry has 'name' (string) and 'args' (map). Use .exists() / .size() for conditions. | Set 19 |
tool_invocations.exists(t, t.name == "tool_name" && has(t.args.field)) | boolean | Check if a tool was called with a specific argument | Set 19 |
tool_invocations.exists(t, t.name == "tool_name" && t.result == "true") | boolean | Check if a tool returned a specific value. 'result' holds the raw ToolMessage content (typically a string; may be a list of content blocks for multi-modal tools). Use 'has(t.result)' to guard against tools whose result hasn't landed yet. | Set 19 |
tool_invocations.exists(t, t.name == "tool_name") | boolean | Check if a specific tool was called this turn | Set 19 |
tool_invocations.size() | number | Number of tools invoked this turn | Set 19 |
| Variable | Type | Meaning | Contexts |
|---|
tool_results | list | Summaries of tool results in the Chat | Set 22 |
transcript
| Variable | Type | Meaning | Contexts |
|---|
transcript | list | Chat transcript entries | Set 22 |
value
| Variable | Type | Meaning | Contexts |
|---|
value | any | The current field's value being validated | Set 16 |
webhook
| Variable | Type | Meaning | Contexts |
|---|
webhook.board_id | string | Webhook board/container ID | Set 12 |
webhook.item_id | string | Webhook item identifier | Set 12 |
webhook.item_name | string | Webhook item name/title | Set 12 |
webhook.source | string | Webhook source identifier | Set 12 |
workflow
| Variable | Type | Meaning | Contexts |
|---|
workflow.id | number | Workflow ID | Set 7 |
workflow.name | string | Workflow name | Set 7 |
workflow.uuid | string | Workflow UUID | Set 7 |
Context availability
Availability Set 1
Computed Form field, Event Rule: assignment:concluded, Event Rule: calendar_event:cancelled, Event Rule: calendar_event:created, Event Rule: calendar_event:ended, Event Rule: calendar_event:no_show, Event Rule: calendar_event:starting, Event Rule: calendar_event:updated, Event Rule: call:completed, Event Rule: call:started, Event Rule: call:summary, Event Rule: chat:callback, Event Rule: chat:created, Event Rule: chat:summary, Event Rule: connector:event, Event Rule: data_record:changed, Event Rule: data_record:created, Event Rule: data_record:updated, Event Rule: fax:received, Event Rule: journey:completed, Event Rule: journey:enrolled, Event Rule: journey_step:execute, Event Rule: link:clicked, Event Rule: member:updated, Event Rule: message:created, Event Rule: routine:triggered, Event Rule: task:command, Event Rule: task:enter, Event Rule: task:execute, Event Rule: task:exit, Event Rule: voicemail:received, Event Rule: workflow:assistant_message, Event Rule: workflow:execute, Event Rule: workflow:user_message, Event Rule: workspace:member_joined, Event Rule: workspace:member_left, Experiment eligibility, Form field validation, Journey edge, Journey goal, Journey v2 edge, Journey v2 ending, Journey v2 goal, Message validation: assignment:concluded, Message validation: calendar_event:cancelled, Message validation: calendar_event:created, Message validation: calendar_event:ended, Message validation: calendar_event:no_show, Message validation: calendar_event:starting, Message validation: calendar_event:updated, Message validation: call:completed, Message validation: call:started, Message validation: call:summary, Message validation: chat:callback, Message validation: chat:created, Message validation: chat:summary, Message validation: connector:event, Message validation: data_record:changed, Message validation: data_record:created, Message validation: data_record:updated, Message validation: fax:received, Message validation: journey:completed, Message validation: journey:enrolled, Message validation: journey_step:execute, Message validation: link:clicked, Message validation: member:updated, Message validation: message:created, Message validation: routine:triggered, Message validation: task:command, Message validation: task:enter, Message validation: task:execute, Message validation: task:exit, Message validation: voicemail:received, Message validation: workflow:assistant_message, Message validation: workflow:execute, Message validation: workflow:user_message, Message validation: workspace:member_joined, Message validation: workspace:member_left, Metric criterion, Task Ability, Task edge, Task guard, Workflow Ability
Availability Set 2
Computed Form field, Form field validation
Availability Set 3
Event Rule: assignment:concluded, Event Rule: calendar_event:cancelled, Event Rule: calendar_event:created, Event Rule: calendar_event:ended, Event Rule: calendar_event:no_show, Event Rule: calendar_event:starting, Event Rule: calendar_event:updated, Event Rule: call:completed, Event Rule: call:started, Event Rule: call:summary, Event Rule: chat:callback, Event Rule: chat:created, Event Rule: chat:summary, Event Rule: connector:event, Event Rule: data_record:changed, Event Rule: data_record:created, Event Rule: data_record:updated, Event Rule: fax:received, Event Rule: journey:completed, Event Rule: journey:enrolled, Event Rule: journey_step:execute, Event Rule: link:clicked, Event Rule: member:updated, Event Rule: message:created, Event Rule: routine:triggered, Event Rule: task:command, Event Rule: task:enter, Event Rule: task:execute, Event Rule: task:exit, Event Rule: voicemail:received, Event Rule: workflow:assistant_message, Event Rule: workflow:execute, Event Rule: workflow:user_message, Event Rule: workspace:member_joined, Event Rule: workspace:member_left, Experiment eligibility, Journey edge, Journey goal, Journey v2 edge, Journey v2 ending, Journey v2 goal, Message validation: assignment:concluded, Message validation: calendar_event:cancelled, Message validation: calendar_event:created, Message validation: calendar_event:ended, Message validation: calendar_event:no_show, Message validation: calendar_event:starting, Message validation: calendar_event:updated, Message validation: call:completed, Message validation: call:started, Message validation: call:summary, Message validation: chat:callback, Message validation: chat:created, Message validation: chat:summary, Message validation: connector:event, Message validation: data_record:changed, Message validation: data_record:created, Message validation: data_record:updated, Message validation: fax:received, Message validation: journey:completed, Message validation: journey:enrolled, Message validation: journey_step:execute, Message validation: link:clicked, Message validation: member:updated, Message validation: message:created, Message validation: routine:triggered, Message validation: task:command, Message validation: task:enter, Message validation: task:execute, Message validation: task:exit, Message validation: voicemail:received, Message validation: workflow:assistant_message, Message validation: workflow:execute, Message validation: workflow:user_message, Message validation: workspace:member_joined, Message validation: workspace:member_left, Metric criterion, Outbound sync filter, Task Ability, Task edge, Task guard, Workflow Ability
Availability Set 4
Event Rule: assignment:concluded, Event Rule: calendar_event:cancelled, Event Rule: calendar_event:created, Event Rule: calendar_event:ended, Event Rule: calendar_event:no_show, Event Rule: calendar_event:starting, Event Rule: calendar_event:updated, Event Rule: call:completed, Event Rule: call:started, Event Rule: call:summary, Event Rule: chat:callback, Event Rule: chat:created, Event Rule: chat:summary, Event Rule: connector:event, Event Rule: data_record:changed, Event Rule: data_record:created, Event Rule: data_record:updated, Event Rule: fax:received, Event Rule: journey:completed, Event Rule: journey:enrolled, Event Rule: journey_step:execute, Event Rule: link:clicked, Event Rule: member:updated, Event Rule: message:created, Event Rule: routine:triggered, Event Rule: task:command, Event Rule: task:enter, Event Rule: task:execute, Event Rule: task:exit, Event Rule: voicemail:received, Event Rule: workflow:assistant_message, Event Rule: workflow:execute, Event Rule: workflow:user_message, Event Rule: workspace:member_joined, Event Rule: workspace:member_left, Experiment eligibility, Journey edge, Journey goal, Journey v2 edge, Journey v2 ending, Journey v2 goal, Message validation: assignment:concluded, Message validation: calendar_event:cancelled, Message validation: calendar_event:created, Message validation: calendar_event:ended, Message validation: calendar_event:no_show, Message validation: calendar_event:starting, Message validation: calendar_event:updated, Message validation: call:completed, Message validation: call:started, Message validation: call:summary, Message validation: chat:callback, Message validation: chat:created, Message validation: chat:summary, Message validation: connector:event, Message validation: data_record:changed, Message validation: data_record:created, Message validation: data_record:updated, Message validation: fax:received, Message validation: journey:completed, Message validation: journey:enrolled, Message validation: journey_step:execute, Message validation: link:clicked, Message validation: member:updated, Message validation: message:created, Message validation: routine:triggered, Message validation: task:command, Message validation: task:enter, Message validation: task:execute, Message validation: task:exit, Message validation: voicemail:received, Message validation: workflow:assistant_message, Message validation: workflow:execute, Message validation: workflow:user_message, Message validation: workspace:member_joined, Message validation: workspace:member_left, Metric criterion, Task Ability, Task edge, Task guard, Workflow Ability
Availability Set 5
Event Rule: assignment:concluded, Event Rule: calendar_event:cancelled, Event Rule: calendar_event:created, Event Rule: calendar_event:ended, Event Rule: calendar_event:no_show, Event Rule: calendar_event:starting, Event Rule: calendar_event:updated, Event Rule: call:completed, Event Rule: call:started, Event Rule: call:summary, Event Rule: chat:callback, Event Rule: chat:created, Event Rule: chat:summary, Event Rule: connector:event, Event Rule: data_record:changed, Event Rule: data_record:created, Event Rule: data_record:updated, Event Rule: fax:received, Event Rule: journey:completed, Event Rule: journey:enrolled, Event Rule: journey_step:execute, Event Rule: link:clicked, Event Rule: member:updated, Event Rule: message:created, Event Rule: routine:triggered, Event Rule: task:command, Event Rule: task:enter, Event Rule: task:execute, Event Rule: task:exit, Event Rule: voicemail:received, Event Rule: workflow:assistant_message, Event Rule: workflow:execute, Event Rule: workflow:user_message, Event Rule: workspace:member_joined, Event Rule: workspace:member_left, Experiment eligibility, Journey edge, Journey goal, Journey v2 edge, Journey v2 ending, Journey v2 goal, Message validation: assignment:concluded, Message validation: calendar_event:cancelled, Message validation: calendar_event:created, Message validation: calendar_event:ended, Message validation: calendar_event:no_show, Message validation: calendar_event:starting, Message validation: calendar_event:updated, Message validation: call:completed, Message validation: call:started, Message validation: call:summary, Message validation: chat:callback, Message validation: chat:created, Message validation: chat:summary, Message validation: connector:event, Message validation: data_record:changed, Message validation: data_record:created, Message validation: data_record:updated, Message validation: fax:received, Message validation: journey:completed, Message validation: journey:enrolled, Message validation: journey_step:execute, Message validation: link:clicked, Message validation: member:updated, Message validation: message:created, Message validation: routine:triggered, Message validation: task:command, Message validation: task:enter, Message validation: task:execute, Message validation: task:exit, Message validation: voicemail:received, Message validation: workflow:assistant_message, Message validation: workflow:execute, Message validation: workflow:user_message, Message validation: workspace:member_joined, Message validation: workspace:member_left, Task Ability, Task edge, Task guard, Workflow Ability
Availability Set 6
Event Rule: assignment:concluded, Event Rule: calendar_event:cancelled, Event Rule: calendar_event:created, Event Rule: calendar_event:ended, Event Rule: calendar_event:no_show, Event Rule: calendar_event:starting, Event Rule: calendar_event:updated, Event Rule: call:completed, Event Rule: call:started, Event Rule: call:summary, Event Rule: chat:callback, Event Rule: chat:created, Event Rule: chat:summary, Event Rule: connector:event, Event Rule: message:created, Event Rule: task:command, Event Rule: task:enter, Event Rule: task:execute, Event Rule: task:exit, Event Rule: voicemail:received, Event Rule: workflow:assistant_message, Event Rule: workflow:execute, Event Rule: workflow:user_message, Journey edge, Journey v2 edge, Journey v2 ending, Message validation: assignment:concluded, Message validation: calendar_event:cancelled, Message validation: calendar_event:created, Message validation: calendar_event:ended, Message validation: calendar_event:no_show, Message validation: calendar_event:starting, Message validation: calendar_event:updated, Message validation: call:completed, Message validation: call:started, Message validation: call:summary, Message validation: chat:callback, Message validation: chat:created, Message validation: chat:summary, Message validation: connector:event, Message validation: message:created, Message validation: task:command, Message validation: task:enter, Message validation: task:execute, Message validation: task:exit, Message validation: voicemail:received, Message validation: workflow:assistant_message, Message validation: workflow:execute, Message validation: workflow:user_message, Task Ability, Task edge, Task guard, Workflow Ability
Availability Set 7
Event Rule: assignment:concluded, Event Rule: calendar_event:cancelled, Event Rule: calendar_event:created, Event Rule: calendar_event:ended, Event Rule: calendar_event:no_show, Event Rule: calendar_event:starting, Event Rule: calendar_event:updated, Event Rule: connector:event, Event Rule: task:command, Event Rule: task:enter, Event Rule: task:execute, Event Rule: task:exit, Event Rule: voicemail:received, Event Rule: workflow:assistant_message, Event Rule: workflow:execute, Event Rule: workflow:user_message, Journey edge, Journey v2 edge, Journey v2 ending, Message validation: assignment:concluded, Message validation: calendar_event:cancelled, Message validation: calendar_event:created, Message validation: calendar_event:ended, Message validation: calendar_event:no_show, Message validation: calendar_event:starting, Message validation: calendar_event:updated, Message validation: connector:event, Message validation: task:command, Message validation: task:enter, Message validation: task:execute, Message validation: task:exit, Message validation: voicemail:received, Message validation: workflow:assistant_message, Message validation: workflow:execute, Message validation: workflow:user_message, Task Ability, Task edge, Task guard, Workflow Ability
Availability Set 8
Event Rule: assignment:concluded, Event Rule: calendar_event:cancelled, Event Rule: calendar_event:created, Event Rule: calendar_event:ended, Event Rule: calendar_event:no_show, Event Rule: calendar_event:starting, Event Rule: calendar_event:updated, Event Rule: connector:event, Event Rule: task:command, Event Rule: task:enter, Event Rule: task:execute, Event Rule: task:exit, Event Rule: voicemail:received, Journey edge, Journey v2 edge, Journey v2 ending, Message validation: assignment:concluded, Message validation: calendar_event:cancelled, Message validation: calendar_event:created, Message validation: calendar_event:ended, Message validation: calendar_event:no_show, Message validation: calendar_event:starting, Message validation: calendar_event:updated, Message validation: connector:event, Message validation: task:command, Message validation: task:enter, Message validation: task:execute, Message validation: task:exit, Message validation: voicemail:received, Task Ability, Task edge, Task guard, Workflow Ability
Availability Set 9
Event Rule: calendar_event:cancelled, Event Rule: calendar_event:created, Event Rule: calendar_event:ended, Event Rule: calendar_event:no_show, Event Rule: calendar_event:starting, Event Rule: calendar_event:updated, Event Rule: connector:event, Event Rule: data_record:changed, Event Rule: data_record:created, Event Rule: data_record:updated, Event Rule: member:updated, Event Rule: voicemail:received, Message validation: calendar_event:cancelled, Message validation: calendar_event:created, Message validation: calendar_event:ended, Message validation: calendar_event:no_show, Message validation: calendar_event:starting, Message validation: calendar_event:updated, Message validation: connector:event, Message validation: data_record:changed, Message validation: data_record:created, Message validation: data_record:updated, Message validation: member:updated, Message validation: voicemail:received
Availability Set 10
Event Rule: calendar_event:cancelled, Event Rule: calendar_event:created, Event Rule: calendar_event:ended, Event Rule: calendar_event:no_show, Event Rule: calendar_event:starting, Event Rule: calendar_event:updated, Event Rule: connector:event, Event Rule: data_record:changed, Event Rule: data_record:created, Event Rule: data_record:updated, Event Rule: task:enter, Event Rule: task:exit, Event Rule: voicemail:received, Message validation: calendar_event:cancelled, Message validation: calendar_event:created, Message validation: calendar_event:ended, Message validation: calendar_event:no_show, Message validation: calendar_event:starting, Message validation: calendar_event:updated, Message validation: connector:event, Message validation: data_record:changed, Message validation: data_record:created, Message validation: data_record:updated, Message validation: task:enter, Message validation: task:exit, Message validation: voicemail:received
Availability Set 11
Event Rule: calendar_event:cancelled, Event Rule: calendar_event:created, Event Rule: calendar_event:ended, Event Rule: calendar_event:no_show, Event Rule: calendar_event:starting, Event Rule: calendar_event:updated, Event Rule: connector:event, Event Rule: message:created, Event Rule: voicemail:received, Message validation: assignment:concluded, Message validation: calendar_event:cancelled, Message validation: calendar_event:created, Message validation: calendar_event:ended, Message validation: calendar_event:no_show, Message validation: calendar_event:starting, Message validation: calendar_event:updated, Message validation: call:completed, Message validation: call:started, Message validation: call:summary, Message validation: chat:callback, Message validation: chat:created, Message validation: chat:summary, Message validation: connector:event, Message validation: data_record:changed, Message validation: data_record:created, Message validation: data_record:updated, Message validation: fax:received, Message validation: journey:completed, Message validation: journey:enrolled, Message validation: journey_step:execute, Message validation: link:clicked, Message validation: member:updated, Message validation: message:created, Message validation: routine:triggered, Message validation: task:command, Message validation: task:enter, Message validation: task:execute, Message validation: task:exit, Message validation: voicemail:received, Message validation: workflow:assistant_message, Message validation: workflow:execute, Message validation: workflow:user_message, Message validation: workspace:member_joined, Message validation: workspace:member_left
Availability Set 12
Event Rule: calendar_event:cancelled, Event Rule: calendar_event:created, Event Rule: calendar_event:ended, Event Rule: calendar_event:no_show, Event Rule: calendar_event:starting, Event Rule: calendar_event:updated, Event Rule: connector:event, Event Rule: voicemail:received, Message validation: calendar_event:cancelled, Message validation: calendar_event:created, Message validation: calendar_event:ended, Message validation: calendar_event:no_show, Message validation: calendar_event:starting, Message validation: calendar_event:updated, Message validation: connector:event, Message validation: voicemail:received
Availability Set 13
Event Rule: call:completed, Event Rule: call:started, Event Rule: call:summary, Event Rule: task:command, Event Rule: task:enter, Event Rule: task:execute, Event Rule: task:exit, Message validation: call:completed, Message validation: call:started, Message validation: call:summary, Message validation: task:command, Message validation: task:enter, Message validation: task:execute, Message validation: task:exit
Availability Set 14
Event Rule: fax:received, Message validation: fax:received
Availability Set 15
Event Rule: journey:completed, Event Rule: journey:enrolled, Event Rule: journey_step:execute, Journey edge, Journey goal, Journey v2 edge, Journey v2 ending, Journey v2 goal, Message validation: journey:completed, Message validation: journey:enrolled, Message validation: journey_step:execute
Availability Set 16
Form field validation, Inbound sync filter, Outbound sync filter
Availability Set 17
Inbound sync filter
Availability Set 18
Journey edge, Journey v2 edge
Availability Set 19
Journey edge, Journey v2 edge, Journey v2 ending, Task Ability, Task edge, Task guard, Workflow Ability
Availability Set 20
Journey v2 ending
Availability Set 21
Metric criterion
Availability Set 22
Metric criterion, Workflow evaluation criterion
Availability Set 23
Outbound sync filter
Availability Set 24
Workflow evaluation criterion
Replace form_slug and field_slug with actual slugs. Availability follows the selected context: Assignment collections are not offered on every surface. Field types follow your Form schema.
assignment
| Variable | Type | Meaning | Contexts |
|---|
assignment.collections.form_slug.count | number | Total records (Form, current Assignment) | Set 1 |
assignment.collections.form_slug.latest.created_at | string | Creation time of latest record (Form, current Assignment) | Set 1 |
assignment.collections.form_slug.latest.data.field_slug | text | Field (Form, latest, current Assignment) | Set 1 |
assignment.collections.form_slug.latest.external_id | string | External ID of latest record (Form, current Assignment) | Set 1 |
assignment.collections.form_slug.recent | list | Up to 50 records (Form, current Assignment, newest first). Use .exists(r, r.data.field == val) or .filter(r, ...) for list operations | Set 1 |
member
| Variable | Type | Meaning | Contexts |
|---|
member.collections.form_slug.count | number | Total records (Form, Member lifetime) | Set 1 |
member.collections.form_slug.latest.created_at | string | Creation time of latest record (Form, Member lifetime) | Set 1 |
member.collections.form_slug.latest.data.field_slug | text | Field (Form, latest, Member lifetime) | Set 1 |
member.collections.form_slug.latest.external_id | string | External ID of latest record (Form, Member lifetime) | Set 1 |
member.collections.form_slug.recent | list | Up to 50 records (Form, Member lifetime, newest first). Use .exists(r, r.data.field == val) or .filter(r, ...) for list operations | Set 1 |
Collection Context availability
Availability Collection Set 1
Context with matching collection namespace
Dynamic maps
member.form_data.<form_slug>.<field_slug> contains singular Member Form values. record.data.<field_slug> uses the selected record's Form. member.fields["namespace:key"] uses your Workspace's Member Field keys. Evaluation criteria can expose assignment_data_records.data.<form_slug>.<field_slug>. Webhook and sync source maps follow the integration's payload schema; their arbitrary keys are not a finite global variable list.