Grouped by job, each with equal depth. This is the documented reference set, not a live scan of your canvas, and not ranked by popularity. Object-specific variants (Create/Get/Update/Link per object) get distinct entries because their IDs, context, and uses differ.
Showing all 98 documented node types.
01Documented; check org
Start
Ticket Created
Starts a run the moment a new support ticket is created (any channel). ART-159312
Use when
First-touch triage, auto-acknowledgement, default assignment, SLA setup.
When NOT to use
Do not use to react to a field change on an existing ticket, that is Ticket Updated. Fires on creation only.
Ticket Created
→If/Else: priority is P0?
→Send Notification
Full configuration, I/O, test outcome & mistakes
Configure, step by step
- Add + Step -> Trigger -> Ticket Created.
- Optionally add filter conditions (e.g. priority, applies_to_part) with AND/OR; enable Case Insensitive for text.
- Reference the new ticket and its fields in every downstream node via the variable picker.
Settings explained
No fields-to-watch. Optional filter conditions only (ART-159312). Alias: ticket_created. ART-159312
InputNone (triggers fire on an event, not an input).
OutputThe full created ticket object, including its generated system ID and all available fields.
Expected test outcomeA test ticket matching your filters starts exactly one run; a ticket that fails the filter starts none.
Common mistakes- Expecting it to fire on later edits, it does not.
- Over-broad filters flood runs; scope with priority/part/tags.
Also search: ticket_created
Placeholders in <ANGLE_BRACKETS> stand in for your real workspace IDs (parts, users, groups, agents, connections, workflow IDs, endpoints). They are illustrative, not real identifiers. Field labels can vary by workspace, release, and subscription, use the actual variable picker and configuration panel.
02Documented; check org
Start
Ticket Updated
Starts a run when one of the ticket fields you choose to watch actually changes. ART-159312
Use when
Reacting to stage transitions, re-prioritisation, ownership or tag changes.
When NOT to use
Do not watch fields you also write to in the same workflow without a guard, you will self-retrigger.
Ticket Updated (watch: stage)
→If/Else: moved to resolved?
→Add Comment: internal
Full configuration, I/O, test outcome & mistakes
Configure, step by step
- Add Ticket Updated as the trigger.
- Select the fields to watch (e.g. stage, owned_by, priority, applies_to_part, tags).
- Add a condition for the exact transition (e.g. stage equals "resolved").
- Compare against the old_ticket snapshot where a before/after check is needed.
Settings explained
Fields to watch REQUIRED (per ART-13133: stage, owned_by, priority, applies_to_part, tags). Alias: ticket_updated. ART-159312
InputNone (event trigger).
OutputUpdated ticket + old_ticket snapshot + modified_by / modified_date context.
Expected test outcomeChanging only a watched field on a test ticket starts a run; changing an unwatched field does not.
Common mistakes- Self-trigger loop when an Update Ticket writes a watched field, add a guard condition.
- Checking "is resolved" instead of "became resolved" fires repeatedly.
Also search: ticket_updated
Placeholders in <ANGLE_BRACKETS> stand in for your real workspace IDs (parts, users, groups, agents, connections, workflow IDs, endpoints). They are illustrative, not real identifiers. Field labels can vary by workspace, release, and subscription, use the actual variable picker and configuration panel.
03Documented; check org
Start
Issue Created
Starts a run when a new engineering issue is created. ART-159312
Use when
Engineering triage, initial ownership, internal notification of new bugs/tasks.
When NOT to use
An issue is engineering work, not a customer support ticket, do not use this to catch customer requests.
Issue Created
→If/Else: product matches?
→Send Notification
Full configuration, I/O, test outcome & mistakes
Configure, step by step
- Add Issue Created as the trigger.
- Apply filters if exposed (e.g. applies_to_part); otherwise narrow with an If/Else after it.
- Map the new issue ID into downstream actions.
Settings explained
Optional filter conditions (ART-159312). Alias: issue_created. ART-159312
InputNone (event trigger).
OutputThe created issue object and its available fields.
Expected test outcomeCreating a matching issue starts one run.
Common mistakes- Confusing issue creation with ticket creation.
- Assuming it fires when an issue is merely linked.
Also search: issue_created
Placeholders in <ANGLE_BRACKETS> stand in for your real workspace IDs (parts, users, groups, agents, connections, workflow IDs, endpoints). They are illustrative, not real identifiers. Field labels can vary by workspace, release, and subscription, use the actual variable picker and configuration panel.
04Documented; check org
Start
Issue Updated
Subtype warning: Selecting a subtype exposes subtype fields but does not restrict which update events start a run. Add an If/Else immediately after the trigger to check the issue subtype before acting. Issue Created does restrict triggering by the selected subtype.
ART-21902 ART-33224
Starts a run when selected engineering-issue fields change. ART-159312
Use when
Notifying support when a bug is fixed, or reacting to priority/sprint changes.
When NOT to use
Do not use "current stage is resolved" as the condition, test the transition, or you spam on every edit.
Issue Updated (watch: stage)
→If/Else: became resolved?
→Add Comment on linked ticket
Full configuration, I/O, test outcome & mistakes
Configure, step by step
- Add Issue Updated.
- Choose fields to watch (applies_to_part, artifacts, body, developed_with, owned_by, priority, reported_by, sprint, stage, subtype, tags, target_close_date, target_start_date, title).
- Add an immediate If/Else to check the subtype when only one subtype should proceed; then compare current vs old_issue for the transition that matters.
Settings explained
Fields to watch REQUIRED (ART-159312 enumerates the watch list above). Subtype exposes fields, not an event filter. Alias: issue_updated. ART-159312
InputNone (event trigger).
OutputUpdated issue + old_issue snapshot + modified_by / modified_date.
Expected test outcomeA watched-field update can start a run even for an issue of another subtype; the immediate If/Else prevents its downstream actions.
Common mistakes- Repeated notifications from checking current state not the transition.
- Assuming the subtype input restricts which updates start the workflow.
- Watching too many fields.
Also search: issue_updated
Placeholders in <ANGLE_BRACKETS> stand in for your real workspace IDs (parts, users, groups, agents, connections, workflow IDs, endpoints). They are illustrative, not real identifiers. Field labels can vary by workspace, release, and subscription, use the actual variable picker and configuration panel.
05Documented; check org
Start
Conversation Created
Starts a run when a customer conversation begins (PLuG, email, Slack, WhatsApp). ART-159312
Use when
Chat triage, spam filtering, sentiment check, starting an AI agent.
When NOT to use
A new conversation is not the same event as each new message within it, do not use it to react per message.
Conversation Created
→Spam Checker
→If/Else: is_spam?
Full configuration, I/O, test outcome & mistakes
Configure, step by step
- Add Conversation Created.
- Use the supplied conversation ID and context.
- Chain Spam Checker / Classify / Talk to Agent as needed.
Settings explained
Optional filter conditions. Alias: conversation_created. ART-159312
InputNone (event trigger).
OutputThe conversation object fields available at creation.
Expected test outcomeA new conversation starts one run.
Common mistakes- Treating every inbound message as a trigger event.
- Assuming full transcript is present at creation.
Also search: conversation_created
Placeholders in <ANGLE_BRACKETS> stand in for your real workspace IDs (parts, users, groups, agents, connections, workflow IDs, endpoints). They are illustrative, not real identifiers. Field labels can vary by workspace, release, and subscription, use the actual variable picker and configuration panel.
06Documented; check org
Start
Conversation Updated
Starts a run when watched conversation fields change. ART-159312
Use when
Reacting to owner, group, stage, tags, frozen state, or sentiment changes.
When NOT to use
Not every incoming message changes a watched field, do not rely on it for message-level events.
Conversation Updated (watch: stage)
→If/Else: stage changed?
→Send Notification
Full configuration, I/O, test outcome & mistakes
Configure, step by step
- Add Conversation Updated.
- Select supported fields to watch (stage, tags, owned_by, group, is_frozen, sentiment).
- Use current + old_conversation for before/after comparisons.
Settings explained
Fields to watch REQUIRED (ART-159312). Alias: conversation_updated. ART-159312
InputNone (event trigger).
OutputUpdated conversation + old_conversation snapshot.
Expected test outcomeA watched-field change starts a run.
Common mistakes- Expecting message content changes to fire it.
Also search: conversation_updated
Placeholders in <ANGLE_BRACKETS> stand in for your real workspace IDs (parts, users, groups, agents, connections, workflow IDs, endpoints). They are illustrative, not real identifiers. Field labels can vary by workspace, release, and subscription, use the actual variable picker and configuration panel.
07Documented; check org
Start
Account Created
Starts a run when a customer account is created. ART-159312
Use when
Applying onboarding defaults and informing the account team.
When NOT to use
Do not create another account from this event without a dedup check, you will spawn duplicates.
Account Created
→Update Account
→Add Comment: internal
Full configuration, I/O, test outcome & mistakes
Configure, step by step
- Add Account Created.
- Scope with offered filters or follow with an If/Else.
- Map the new account ID into Update Account / Add Comment.
Settings explained
Optional filter conditions. Alias: account_created. ART-159312
InputNone (event trigger).
OutputThe new account object.
Expected test outcomeA new account starts one run.
Common mistakes- Creating duplicate accounts on the create event.
Also search: account_created
Placeholders in <ANGLE_BRACKETS> stand in for your real workspace IDs (parts, users, groups, agents, connections, workflow IDs, endpoints). They are illustrative, not real identifiers. Field labels can vary by workspace, release, and subscription, use the actual variable picker and configuration panel.
08Documented; check org
Start
Account Updated
Starts a run when selected account fields change. ART-159312
Use when
Reacting to tier changes, ownership moves, domain/external-ref updates.
When NOT to use
Avoid watching fields your own actions overwrite without a guard.
Account Updated (watch: tier)
→If/Else: upgraded to tier_1?
→Send Notification
Full configuration, I/O, test outcome & mistakes
Configure, step by step
- Add Account Updated.
- Watch fields (description, display_name, domains, external_refs, owned_by, tags, tier).
- Compare against old_account for the transition.
Settings explained
Fields to watch REQUIRED. Output tier values tier_1/tier_2/tier_3 (ART-159312). Alias: account_updated. ART-159312
InputNone (event trigger).
OutputUpdated account + old_account + tags + tier.
Expected test outcomeA watched-field change starts a run.
Common mistakes- Self-trigger loop on fields you also write.
Also search: account_updated
Placeholders in <ANGLE_BRACKETS> stand in for your real workspace IDs (parts, users, groups, agents, connections, workflow IDs, endpoints). They are illustrative, not real identifiers. Field labels can vary by workspace, release, and subscription, use the actual variable picker and configuration panel.
09Documented; check org
Start
Contact Created
Starts a run when a contact (rev_user) is created. ART-159312
Use when
Enrichment, welcome flows, assigning a contact owner.
When NOT to use
A contact is a person record, not an account, pick the right object.
Contact Created
→HTTP: enrich
→Update Contact
Full configuration, I/O, test outcome & mistakes
Configure, step by step
- Add Contact Created.
- Scope with filters or a following If/Else.
- Map the new contact ID downstream.
Settings explained
Optional filter conditions. Alias: contact_created. ART-159312
InputNone (event trigger).
OutputThe full contact (rev_user) object.
Expected test outcomeA new contact starts one run.
Common mistakes- Confusing contact (person) with account (org).
Also search: contact_created
Placeholders in <ANGLE_BRACKETS> stand in for your real workspace IDs (parts, users, groups, agents, connections, workflow IDs, endpoints). They are illustrative, not real identifiers. Field labels can vary by workspace, release, and subscription, use the actual variable picker and configuration panel.
10Documented; check org
Start
Contact Updated
Starts a run when selected contact fields change. ART-159312
Use when
Reacting to email/phone/tag/external-ref updates on a person record.
When NOT to use
Do not watch fields you overwrite without a guard.
Contact Updated (watch: email)
→If/Else: email changed?
→HTTP sync
Full configuration, I/O, test outcome & mistakes
Configure, step by step
- Add Contact Updated.
- Watch fields (description, display_name, email, phone_numbers, external_refs, tags).
- Compare against old_rev_user.
Settings explained
Fields to watch REQUIRED (ART-159312). Alias: contact_updated. ART-159312
InputNone (event trigger).
OutputUpdated contact + old_rev_user snapshot + rev_org.
Expected test outcomeA watched-field change starts a run.
Also search: contact_updated
Placeholders in <ANGLE_BRACKETS> stand in for your real workspace IDs (parts, users, groups, agents, connections, workflow IDs, endpoints). They are illustrative, not real identifiers. Field labels can vary by workspace, release, and subscription, use the actual variable picker and configuration panel.
11Documented; check org
Start
Opportunity Updated
Starts a run when selected deal fields change. ART-159312
Use when
PoC-stage handoffs, sales follow-up, internal deal alerts.
When NOT to use
Stage names and custom fields are workspace-specific, do not hardcode a value that is not in your picker.
Opportunity Updated (watch: stage)
→If/Else: entered Validate?
→Add Comment
Full configuration, I/O, test outcome & mistakes
Configure, step by step
- Add Opportunity Updated.
- Choose the deal fields to watch.
- Gate actions on the relevant change; pass the opportunity ID downstream.
Settings explained
Fields to watch REQUIRED. Alias: opportunity_updated. ART-159312
InputNone (event trigger).
OutputUpdated opportunity + available change context.
Expected test outcomeA watched-field change starts a run.
Common mistakes- Using stage names that do not exist in your workspace.
Also search: opportunity_updated
Placeholders in <ANGLE_BRACKETS> stand in for your real workspace IDs (parts, users, groups, agents, connections, workflow IDs, endpoints). They are illustrative, not real identifiers. Field labels can vary by workspace, release, and subscription, use the actual variable picker and configuration panel.
12Documented; check org
Start
Object Link Trigger
Starts a run when a link between two objects is created or removed. ART-159312
Use when
Reacting when a ticket is linked to an issue, or an incident to an issue, etc.
When NOT to use
Only valid for documented linkable pairs; link direction matters (fires for the link source).
Ticket linked to Issue
→Add Comment: "Linked to engineering"
Full configuration, I/O, test outcome & mistakes
Configure, step by step
- Add the relevant link trigger (e.g. Ticket Linked With Object).
- Confirm the pair and direction are supported.
- Use the source and target object IDs downstream.
Settings explained
Pair-dependent. ART-13133 names TicketLinkedWithObject, IssueLinkedWithObject. Direction-sensitive. ART-159312
InputNone (event trigger).
OutputThe source object plus the linked target reference.
Expected test outcomeCreating a supported link fires a run for the link source.
Common mistakes- Assuming it fires for both directions.
- Using an unsupported pair.
Also search: ticket_linked_with_object issue_linked_with_object
Placeholders in <ANGLE_BRACKETS> stand in for your real workspace IDs (parts, users, groups, agents, connections, workflow IDs, endpoints). They are illustrative, not real identifiers. Field labels can vary by workspace, release, and subscription, use the actual variable picker and configuration panel.
13Documented; check org
Start
SLA Tracker Trigger
Starts a run when an SLA metric on a ticket or conversation is approaching or missed. ART-159312
Use when
Escalation before a breach, or notification after a missed target.
When NOT to use
Only human replies complete a first-response SLA target, automated comments do not count.
SLA approaching
→Pick User by Group
→Send Notification
Full configuration, I/O, test outcome & mistakes
Configure, step by step
- Add the SLA tracker trigger for ticket, conversation, or issue.
- Choose the metric/stage (approaching vs missed).
- Escalate or notify downstream.
Settings explained
Metric-attached. Aliases (ART-21254): ticket_sla_tracker_updated, conversation_sla_tracker_updated, issue_sla_tracker_updated. ART-159312
InputNone (event trigger).
OutputThe SLA tracker state and parent object.
Expected test outcomeAn SLA state change on a tracked object starts a run.
Common mistakes- Expecting an automated reply to satisfy a first-response SLA.
Also search: ticket_sla_tracker_updated conversation_sla_tracker_updated
Placeholders in <ANGLE_BRACKETS> stand in for your real workspace IDs (parts, users, groups, agents, connections, workflow IDs, endpoints). They are illustrative, not real identifiers. Field labels can vary by workspace, release, and subscription, use the actual variable picker and configuration panel.
14Documented; check org
Start
Timer Trigger
Starts a workflow on a recurring schedule (interval or scheduled modes). ART-159312
Use when
Daily reminders, recurring cleanup, periodic scans of workspace records.
When NOT to use
A timer starts NEW runs, it is not a pause inside an existing run (that is Sleep For / Sleep Until).
Timer Trigger (daily 09:00 <TIMEZONE_OFFSET>)
→Loop for Tickets
→Send Notification
Full configuration, I/O, test outcome & mistakes
Configure, step by step
- Add Timer Trigger.
- Choose interval or scheduled mode and set cadence.
- Confirm the timezone in a test.
- Add a Loop or retrieval step to select the records to process.
Settings explained
Two modes: interval / scheduled (ART-159312). Alias: timer_trigger. ART-159312
InputSchedule configuration (interval/scheduled).
OutputA scheduled run; add a loop or retrieval step to pick business records.
Expected test outcomeThe workflow starts at each scheduled time; wrong-timezone fires at the wrong hour.
Common mistakes- Confusing a timer with an in-run delay.
- Forgetting the timezone.
Also search: timer_trigger
Placeholders in <ANGLE_BRACKETS> stand in for your real workspace IDs (parts, users, groups, agents, connections, workflow IDs, endpoints). They are illustrative, not real identifiers. Field labels can vary by workspace, release, and subscription, use the actual variable picker and configuration panel.
15Documented; check org
Start
Manual Trigger
Starts a run when a user explicitly invokes it (Run in the UI). ART-159312
Use when
On-demand automation; a controlled entry point for testing or ad-hoc operations.
When NOT to use
A manual run is NOT a simulation, downstream Update/Comment actions affect real records.
Manual Trigger
→Get Ticket
→Add Comment: internal
Full configuration, I/O, test outcome & mistakes
Configure, step by step
- Add Manual Trigger.
- Define the expected output fields and types at design time (dynamic schema).
- Supply values via the invocation mechanism in your workspace.
- Map those values downstream.
Settings explained
No static input schema; output schema configured at design time. Alias: manual_trigger. ART-159312
InputUser-supplied values matching the configured dynamic schema.
OutputThe configured trigger fields supplied at invocation.
Expected test outcomeInvoking Run executes the workflow once against the supplied values and real targets.
Common mistakes- Treating a manual run as a dry run.
Also search: manual_trigger
Placeholders in <ANGLE_BRACKETS> stand in for your real workspace IDs (parts, users, groups, agents, connections, workflow IDs, endpoints). They are illustrative, not real identifiers. Field labels can vary by workspace, release, and subscription, use the actual variable picker and configuration panel.
16Documented; check org
Start
API Trigger
Starts a workflow when an authenticated HTTP POST request arrives. ART-26066
Use when
An external app or another workflow needs to start this process and pass typed data.
When NOT to use
This is not an unauthenticated public webhook, never expose the PAT in client-side code.
API Trigger
→HTTP
→Create Ticket
Full configuration, I/O, test outcome & mistakes
Configure, step by step
- Add API Trigger.
- Define Input Parameters: Field name (case-sensitive), Field type (Text/Int/ID/...), Required flag, optional Description.
- Add an optional filter condition.
- Publish, then call the endpoint with a DevRev PAT or active connection.
- Test sample inputs first.
Settings explained
Inputs: user-defined typed parameters. Auth: DevRev PAT or active connection. Endpoint: POST https://api.devrev.ai/internal/workflows.trigger. step_reference_key required only with multiple API triggers (ART-26066). ART-26066
InputTyped input parameters you define (customer_name:Text, ticket_id:ID, ...).
OutputAll input parameter values, available via Insert variable in every downstream node.
Expected test outcomeA valid authenticated POST with matching body starts a run; a bad token returns 401 and starts nothing.
Common mistakes- Leaving the endpoint effectively public by leaking a token.
- Field name case mismatch between caller and definition.
Also search: api_trigger
Placeholders in <ANGLE_BRACKETS> stand in for your real workspace IDs (parts, users, groups, agents, connections, workflow IDs, endpoints). They are illustrative, not real identifiers. Field labels can vary by workspace, release, and subscription, use the actual variable picker and configuration panel.
17Documented; check org
Start
AI Agent Skill Trigger
Starts a workflow when an AI agent invokes it as a skill, the mechanism that turns a workflow into an agent skill. ART-159312
Use when
Building a reusable capability an agent can call with typed arguments.
When NOT to use
This is distinct from the Ask Agent action node, this trigger is how a workflow BECOMES a skill, not how a workflow calls an agent.
AI Agent Skill Trigger
→Get Ticket
→Set Agent Skill Output
Full configuration, I/O, test outcome & mistakes
Configure, step by step
- Add AI Agent Skill Trigger.
- Define the input-parameter contract (same model as API Trigger).
- Publish the workflow and register it as a skill on the agent.
Settings explained
Supported input types: Text, Number, Double, Boolean, Date, Timestamp, ID, Rich text. No fixed output schema. Alias: agent_skill_trigger (ART-159312). ART-159312
InputTyped input parameters the agent supplies when calling the skill.
OutputThe supplied skill arguments, available downstream.
Expected test outcomeWhen the agent invokes the registered skill, the workflow runs with the agent-supplied arguments.
Common mistakes- Confusing it with Ask Agent.
- Forgetting to register the published workflow as a skill.
Also search: agent_skill_trigger
Placeholders in <ANGLE_BRACKETS> stand in for your real workspace IDs (parts, users, groups, agents, connections, workflow IDs, endpoints). They are illustrative, not real identifiers. Field labels can vary by workspace, release, and subscription, use the actual variable picker and configuration panel.
18Public release confirmed
StartWebhook Trigger
Starts on an external event sent to a generated webhook URL. ART-158564
Use when
Use for GitHub, Stripe, PagerDuty, or an external form.
When NOT to use
A successful delivery only confirms receipt, not workflow success.
Availability note: Treat the URL as a secret. The capture-window duration differs between the node article and release summary, so follow the current canvas.
ART-158564
Trigger or prior step
→Webhook Trigger
→Next action or condition
Full configuration, I/O, test outcome & mistakes
Configure, step by step
- Create or reuse a named webhook
- register its URL with the sender
- capture a representative test event
- add an event filter and optional jq transform
- map the captured fields downstream.
Settings explained
Use the current panel for exact fields; publicly documented behaviour is cited. ART-158564
InputEvent configuration and sample data.
OutputCaptured event fields, or the jq-transformed output.
Expected test outcomeA matching test event starts a run; a filtered event does not.
Common mistakes- Assuming the same fields or permissions exist in a different organization.
- Using a sensitive or production object for an uncontrolled test.
Also search: webhook_trigger
19Public release confirmed
StartTeam Created
Starts when a team is created. ART-297035
Use when
Use for controlled team-setup follow-up.
When NOT to use
Editing an existing team is a different trigger.
Availability note: The public release note does not enumerate field-level inputs or assert identical rollout in every workspace; verify the destination canvas.
ART-297035
Trigger or prior step
→Team Created
→Next action or condition
Full configuration, I/O, test outcome & mistakes
Configure, step by step
- Add Team Created from the trigger picker
- inspect available filters and output fields
- pass the selected team ID downstream
- test with a controlled new team.
Settings explained
Use the current panel for exact fields; publicly documented behaviour is cited. ART-297035
InputEvent configuration and sample data.
OutputNew team information as exposed by the trigger.
Expected test outcomeA new team starts a run; an update does not.
Common mistakes- Assuming the same fields or permissions exist in a different organization.
- Using a sensitive or production object for an uncontrolled test.
Also search: team_created
20Public release confirmed
StartTeam Updated
Starts on an eligible team update. ART-297035
Use when
Use for responses to changes in team information.
When NOT to use
Do not assume every membership or settings change is watched.
Availability note: Supported watched fields and prior-state output are not enumerated in the release note; do not invent them.
ART-297035
Trigger or prior step
→Team Updated
→Next action or condition
Full configuration, I/O, test outcome & mistakes
Configure, step by step
- Add Team Updated from the trigger picker
- select supported watched fields if offered
- filter for the relevant change
- inspect the actual output
- test a controlled edit.
Settings explained
Use the current panel for exact fields; publicly documented behaviour is cited. ART-297035
InputEvent configuration and sample data.
OutputUpdated team information as exposed by the trigger.
Expected test outcomeA qualifying change starts a run.
Common mistakes- Assuming the same fields or permissions exist in a different organization.
- Using a sensitive or production object for an uncontrolled test.
Also search: team_updated
21Documented; check org
StartEnhancement Created
A new enhancement is created. ART-21902
Use when
Starting a review of a newly submitted product request.
When NOT to use
Use Enhancement Updated for later changes; do not assume a customer request is an enhancement.
Availability note: A listed trigger is not proof of visibility or identical filters in every organization.
ART-21902
Enhancement Created
→If/Else: needs review?
→Send Notification
Full configuration, I/O, test outcome & mistakes
Configure, step by step
- Add Enhancement Created from the trigger picker; inspect filters and output fields; connect an If/Else for the exact business condition; publish and test with a controlled event.
- Inspect the actual inputs and outputs in a test run before publishing to production.
Settings explained
Documented operation: enhancement_created. Use the current node panel for exact field names. ART-21902
InputOptional event filter conditions, where supported by this trigger.
OutputEnhancement object.
Expected test outcomeCreate a controlled enhancement and confirm that the run receives its object.
Common mistakes- Treating a related but different event as this trigger; assuming undocumented watched fields or prior-state output.
Also search: enhancement_created
Examples are illustrative, not exported workflows. Use the actual configuration panel, permissions, and variable picker in the destination organization.
22Documented; check org
StartEnhancement Updated
An enhancement is updated. ART-21902
Use when
Reacting to a relevant change in a product request.
When NOT to use
Do not notify on every edit or write back to the same field without a guard.
Availability note: A listed trigger is not proof of visibility or identical filters in every organization.
ART-21902
Enhancement Updated
→If/Else: relevant change?
→Add Comment
Full configuration, I/O, test outcome & mistakes
Configure, step by step
- Add Enhancement Updated from the trigger picker; inspect filters and output fields; connect an If/Else for the exact business condition; publish and test with a controlled event.
- Inspect the actual inputs and outputs in a test run before publishing to production.
Settings explained
Documented operation: enhancement_updated. Use the current node panel for exact field names. ART-21902
InputOptional event filter conditions, where supported by this trigger.
OutputEnhancement object.
Expected test outcomeEdit a test enhancement and check which changes actually start runs.
Common mistakes- Treating a related but different event as this trigger; assuming undocumented watched fields or prior-state output.
Also search: enhancement_updated
Examples are illustrative, not exported workflows. Use the actual configuration panel, permissions, and variable picker in the destination organization.
23Documented; check org
StartIncident Updated
An incident is updated. ART-21902
Use when
Notifying a response team about a relevant incident change.
When NOT to use
Do not treat an incident creation as an update or assume every edit needs escalation.
Availability note: A listed trigger is not proof of visibility or identical filters in every organization.
ART-21902
Incident Updated
→If/Else: escalation needed?
→Send Notification
Full configuration, I/O, test outcome & mistakes
Configure, step by step
- Add Incident Updated from the trigger picker; inspect filters and output fields; connect an If/Else for the exact business condition; publish and test with a controlled event.
- Inspect the actual inputs and outputs in a test run before publishing to production.
Settings explained
Documented operation: incident_updated. Use the current node panel for exact field names. ART-21902
InputOptional event filter conditions, where supported by this trigger.
Expected test outcomeChange a test incident and confirm the relevant update starts a run.
Common mistakes- Treating a related but different event as this trigger; assuming undocumented watched fields or prior-state output.
Also search: incident_updated
Examples are illustrative, not exported workflows. Use the actual configuration panel, permissions, and variable picker in the destination organization.
24Documented; check org
StartMeeting Created
A new meeting record is created. ART-21902
Use when
Starting an internal follow-up when a meeting record appears.
When NOT to use
Do not assume that a calendar event in another service always creates this DevRev event.
Availability note: A listed trigger is not proof of visibility or identical filters in every organization.
ART-21902
Meeting Created
→If/Else: follow-up needed?
→Send Notification
Full configuration, I/O, test outcome & mistakes
Configure, step by step
- Add Meeting Created from the trigger picker; inspect filters and output fields; connect an If/Else for the exact business condition; publish and test with a controlled event.
- Inspect the actual inputs and outputs in a test run before publishing to production.
Settings explained
Documented operation: meeting_created. Use the current node panel for exact field names. ART-21902
InputOptional event filter conditions, where supported by this trigger.
Expected test outcomeCreate a controlled meeting record and confirm that the run receives its object.
Common mistakes- Treating a related but different event as this trigger; assuming undocumented watched fields or prior-state output.
Also search: meeting_created
Examples are illustrative, not exported workflows. Use the actual configuration panel, permissions, and variable picker in the destination organization.
25Documented; check org
StartMeeting Updated
An existing meeting record is updated. ART-21902
Use when
Responding to a relevant meeting-record change.
When NOT to use
Do not equate this with every calendar edit or reschedule in an external system.
Availability note: A listed trigger is not proof of visibility or identical filters in every organization.
ART-21902
Meeting Updated
→If/Else: relevant change?
→Add Comment
Full configuration, I/O, test outcome & mistakes
Configure, step by step
- Add Meeting Updated from the trigger picker; inspect filters and output fields; connect an If/Else for the exact business condition; publish and test with a controlled event.
- Inspect the actual inputs and outputs in a test run before publishing to production.
Settings explained
Documented operation: meeting_updated. Use the current node panel for exact field names. ART-21902
InputOptional event filter conditions, where supported by this trigger.
Expected test outcomeChange a test meeting and inspect the run before adding downstream writes.
Common mistakes- Treating a related but different event as this trigger; assuming undocumented watched fields or prior-state output.
Also search: meeting_updated
Examples are illustrative, not exported workflows. Use the actual configuration panel, permissions, and variable picker in the destination organization.
26Documented; check org
StartOpportunity Created
A new opportunity is created. ART-21902
Use when
Starting a controlled deal-intake follow-up.
When NOT to use
Use Opportunity Updated for changes to an existing opportunity; avoid duplicate deal creation.
Availability note: A listed trigger is not proof of visibility or identical filters in every organization.
ART-21902
Opportunity Created
→If/Else: intake needed?
→Send Notification
Full configuration, I/O, test outcome & mistakes
Configure, step by step
- Add Opportunity Created from the trigger picker; inspect filters and output fields; connect an If/Else for the exact business condition; publish and test with a controlled event.
- Inspect the actual inputs and outputs in a test run before publishing to production.
Settings explained
Documented operation: opportunity_created. Use the current node panel for exact field names. ART-21902
InputOptional event filter conditions, where supported by this trigger.
OutputOpportunity object.
Expected test outcomeCreate a test opportunity and confirm the new record starts a run.
Common mistakes- Treating a related but different event as this trigger; assuming undocumented watched fields or prior-state output.
Also search: opportunity_created
Examples are illustrative, not exported workflows. Use the actual configuration panel, permissions, and variable picker in the destination organization.
27Documented; check org
StartQuestion Answer Created
A question-answer pair is created. ART-21902
Use when
Starting a quality or review step for a new answer.
When NOT to use
Do not assume a new support ticket or conversation is the same event.
Availability note: A listed trigger is not proof of visibility or identical filters in every organization.
ART-21902
Question Answer Created
→If/Else: review?
→Send Notification
Full configuration, I/O, test outcome & mistakes
Configure, step by step
- Add Question Answer Created from the trigger picker; inspect filters and output fields; connect an If/Else for the exact business condition; publish and test with a controlled event.
- Inspect the actual inputs and outputs in a test run before publishing to production.
Settings explained
Documented operation: question_answer_created. Use the current node panel for exact field names. ART-21902
InputOptional event filter conditions, where supported by this trigger.
OutputQuestion answer object.
Expected test outcomeCreate a test question-answer pair and confirm its object reaches the run.
Common mistakes- Treating a related but different event as this trigger; assuming undocumented watched fields or prior-state output.
Also search: question_answer_created
Examples are illustrative, not exported workflows. Use the actual configuration panel, permissions, and variable picker in the destination organization.
28Documented; check org
StartQuestion Answer Updated
A question-answer pair is updated. ART-21902
Use when
Reviewing a meaningful change to an existing answer.
When NOT to use
Do not run a reply action on every edit without checking the intended condition.
Availability note: A listed trigger is not proof of visibility or identical filters in every organization.
ART-21902
Question Answer Updated
→If/Else: review?
→Add Comment
Full configuration, I/O, test outcome & mistakes
Configure, step by step
- Add Question Answer Updated from the trigger picker; inspect filters and output fields; connect an If/Else for the exact business condition; publish and test with a controlled event.
- Inspect the actual inputs and outputs in a test run before publishing to production.
Settings explained
Documented operation: question_answer_updated. Use the current node panel for exact field names. ART-21902
InputOptional event filter conditions, where supported by this trigger.
OutputQuestion answer object.
Expected test outcomeEdit a test question-answer pair and inspect the output and matching condition.
Common mistakes- Treating a related but different event as this trigger; assuming undocumented watched fields or prior-state output.
Also search: question_answer_updated
Examples are illustrative, not exported workflows. Use the actual configuration panel, permissions, and variable picker in the destination organization.
29Documented; check org
StartTask Updated
A task is updated. ART-21902
Use when
Reacting to a relevant task change.
When NOT to use
Do not assume every task event is a task update or that every field is watchable.
Availability note: A listed trigger is not proof of visibility or identical filters in every organization.
ART-21902
Task Updated
→If/Else: action needed?
→Send Notification
Full configuration, I/O, test outcome & mistakes
Configure, step by step
- Add Task Updated from the trigger picker; inspect filters and output fields; connect an If/Else for the exact business condition; publish and test with a controlled event.
- Inspect the actual inputs and outputs in a test run before publishing to production.
Settings explained
Documented operation: task_updated. Use the current node panel for exact field names. ART-21902
InputOptional event filter conditions, where supported by this trigger.
Expected test outcomeUpdate a controlled task and confirm the matching run and available fields.
Common mistakes- Treating a related but different event as this trigger; assuming undocumented watched fields or prior-state output.
Also search: task_updated
Examples are illustrative, not exported workflows. Use the actual configuration panel, permissions, and variable picker in the destination organization.
30Documented; check org
Control
If/Else
Chooses one of two paths based on a single true/false condition. ART-157225
Use when
A simple yes/no question such as "Is this ticket high priority?"
When NOT to use
Do not use when more than two mutually-distinct outcomes exist, use Router instead.
Ticket Created
→If/Else: priority is P0?
→True: notify / False: normal triage
Full configuration, I/O, test outcome & mistakes
Configure, step by step
- Add Control -> If/Else.
- Select an upstream field, operator, and comparison value.
- Combine with AND/OR only when genuinely needed.
- Connect the True and False ports to their actions.
Settings explained
Condition on upstream fields; ports on_true / on_false (ART-157225). ART-157225
InputOne condition (field, operator, value), optionally compound.
OutputExactly one of two execution paths (on_true or on_false).
Expected test outcomeA P0 test ticket takes the True path; a P3 ticket takes the False path.
Common mistakes- Treating a False result as an error, it is a valid business outcome.
- Cramming many categories into nested If/Else instead of a Router.
Also search: if_else
Placeholders in <ANGLE_BRACKETS> stand in for your real workspace IDs (parts, users, groups, agents, connections, workflow IDs, endpoints). They are illustrative, not real identifiers. Field labels can vary by workspace, release, and subscription, use the actual variable picker and configuration panel.
31Documented; check org
Control
Router
Splits the run into named conditional paths that each end independently (no reconvergence). ART-23384
Use when
Several outcomes, or several independent actions that may all apply to the same event.
When NOT to use
Do not use when branches must rejoin a shared final step, that is Route & Merge.
Ticket Created
→Router
→urgent: notify / billing: comment / Default: triage
Full configuration, I/O, test outcome & mistakes
Configure, step by step
- Add Control -> Router.
- Add uniquely named routes with clear descriptions (names become output ports).
- Build each condition from upstream fields with Contains/Equals/Greater than/Less than and AND/OR.
- Choose default all-match behaviour or enable First Match Only.
- Connect actions to each route and to the automatic Default route.
Settings explained
Route attrs: Name (req, becomes port), Description, Condition (req). First Match Only option. Automatic Default route runs only when no other matches (ART-23384). ART-23384
InputPer-route conditions over upstream fields.
OutputAll matching routes run by default; only the earliest matching route runs with First Match Only. Default runs only when nothing matched.
Expected test outcomeA ticket that is both P0 and billing runs BOTH routes by default; with First Match Only only the first wins; a ticket matching neither runs Default.
Common mistakes- Assuming it picks one route, overlapping true conditions run together unless First Match Only is on.
- Two routes writing the same field fight each other.
Also search: router
Placeholders in <ANGLE_BRACKETS> stand in for your real workspace IDs (parts, users, groups, agents, connections, workflow IDs, endpoints). They are illustrative, not real identifiers. Field labels can vary by workspace, release, and subscription, use the actual variable picker and configuration panel.
32Documented; check org
Control
Route & Merge
Splits into conditional branches, then reconverges on a shared downstream continuation. ART-85319
Use when
Different routes need a common final action, or parallel results must be combined.
When NOT to use
Do not use when branches should end separately, that is Router. Do not assume "Wait off" means run-all-then-continue-early.
API Trigger
→Route & Merge: account call / contact call
→Wait for all
→Ask AI summary
Full configuration, I/O, test outcome & mistakes
Configure, step by step
- Add Control -> Route & Merge.
- Name branches, define conditions (AND/OR), add actions inside the block.
- Choose "Run all matching branches" and "Wait for all branches to finish" intentionally.
- Set a timeout (max 5 days) when completion is unpredictable.
- Declare dedicated branch output variables; add shared actions below the block.
- Convert via ellipsis -> Transform to Merge/Router (Draft only).
Settings explained
Branch attrs: Name, Description, Condition. Run all matching (default on). Wait for all (default on). Timeout days/hours/minutes max 5 days. Shared variables, last-writer-wins (ART-85319). ART-85319
InputPer-branch conditions + declared shared variables.
OutputBranch results and a single continuation after the block. With Wait off, continues after the first branch finishes and cancels the rest.
Expected test outcomeWith Run-all + Wait-all, both branch variables are populated at the merge; with Wait off only the fastest branch value is guaranteed.
Common mistakes- Turning off "Wait for all" cancels the slower branches rather than running them in the background.
- Two branches writing one shared variable, give each its own.
Also search: route_and_merge merge
Placeholders in <ANGLE_BRACKETS> stand in for your real workspace IDs (parts, users, groups, agents, connections, workflow IDs, endpoints). They are illustrative, not real identifiers. Field labels can vary by workspace, release, and subscription, use the actual variable picker and configuration panel.
33Special enablement
Control
For Each
Availability warning: For Each is not generally available. Confirm organization-specific enablement before using its array loop in a customer implementation.
ART-33224
Runs the actions inside the block once for every item in an upstream list (array). ART-21905
Use when
Processing an array returned by HTTP or a linked-object listing.
When NOT to use
Do not point it at a single object or a text string, a non-array input is a validation error.
HTTP: order list
→For Each order
→Add Comment per order
Full configuration, I/O, test outcome & mistakes
Configure, step by step
- Add Control -> For Each.
- Select an array output from an earlier node.
- Add actions inside the block.
- Map the current item fields into those actions (not the original trigger ID).
Settings explained
Input must be an array; non-array -> validation error (ART-21905). ART-21905
InputAn array output from an upstream node.
OutputRepeated work per item; loop-scoped current-item data available inside the loop.
Expected test outcomeA 3-item array runs the inner actions 3 times; an empty array runs them zero times.
Common mistakes- Feeding a single object instead of an array.
- Using the trigger ID inside the loop instead of the current item.
Also search: for_each
Placeholders in <ANGLE_BRACKETS> stand in for your real workspace IDs (parts, users, groups, agents, connections, workflow IDs, endpoints). They are illustrative, not real identifiers. Field labels can vary by workspace, release, and subscription, use the actual variable picker and configuration panel.
34Documented; check org
Control
Loop for Tickets
Finds workspace tickets by filter and processes each matching ticket (sequentially). ART-21905
Use when
A scheduled reminder sweep or a carefully scoped bulk update.
When NOT to use
Do not run with a broad filter against production, max 1,000 objects per execution, sequential, and real writes.
Timer Trigger
→Loop for Tickets: Status=Open AND Assignee=<USER_DON>
→Send Notification
Full configuration, I/O, test outcome & mistakes
Configure, step by step
- Search Controls for the ticket workspace-object loop.
- Apply restrictive filters using the actual fields offered.
- Add the action inside the loop.
- Target the loop current-ticket ID.
- Validate against one known sample before widening scope.
Settings explained
Supported objects: Enhancements, Issues, Opportunities, Tickets, Meetings, Linked objects, Users. Sequential; max 1,000/exec; iteration-scoped variables (ART-21905). ART-21905
InputFilter conditions over the chosen object type.
OutputInner actions run once per matching ticket.
Expected test outcomeA filter matching 5 tickets runs the inner actions 5 times; a filter matching none runs zero times.
Common mistakes- A broad filter touching thousands of records.
- Putting the action after the loop instead of inside it.
Also search: loop_for_tickets objects_in_workspace loop_over_tickets
Placeholders in <ANGLE_BRACKETS> stand in for your real workspace IDs (parts, users, groups, agents, connections, workflow IDs, endpoints). They are illustrative, not real identifiers. Field labels can vary by workspace, release, and subscription, use the actual variable picker and configuration panel.
35Documented; check org
Control
Loop for Issues
Finds workspace issues by filter and repeats work for each matching issue. ART-21905
Use when
Engineering reminders and bulk changes within a defined product area.
When NOT to use
Same cautions as Loop for Tickets, scope tightly; it is sequential and writes to real records.
Timer Trigger
→Loop for Issues: stale
→Add Comment
Full configuration, I/O, test outcome & mistakes
Configure, step by step
- Select the issue workspace-object loop.
- Filter by stage, owner, or product fields available.
- Add inner actions using the current issue.
- Validate with a small controlled scope.
Settings explained
Same engine as Loop for Tickets (ART-21905). Sequential; max 1,000/exec. ART-21905
InputFilter conditions over issues.
OutputInner actions repeated per matching issue.
Expected test outcomeMatching N issues runs the inner block N times.
Common mistakes- Over-broad filters.
- Action placed outside the loop block.
Also search: loop_for_issues objects_in_workspace loop_over_issues
Placeholders in <ANGLE_BRACKETS> stand in for your real workspace IDs (parts, users, groups, agents, connections, workflow IDs, endpoints). They are illustrative, not real identifiers. Field labels can vary by workspace, release, and subscription, use the actual variable picker and configuration panel.
36Availability-unverified (model-level only)
Control
While
Availability warning: Public customer availability or exact setup is unverified. Confirm the node in the target organization before using this recipe.
ART-33224
Repeats a block until a condition is met (confirmed as a user-facing looping control at the model level). ART-157225
Use when
A bounded retry/poll pattern where a count-based For Each does not fit.
When NOT to use
No dedicated external how-to exists; exact inputs (loop condition, break/scope variable) are not externally documented.
Initialize Variable: attempts
→While: attempts < 5 AND not done
→HTTP poll
→Set Variable: Increment
Full configuration, I/O, test outcome & mistakes
Configure, step by step
- Add the While control.
- Define the loop/continue condition.
- Add the inner block.
- Ensure the condition can become false to avoid an infinite loop.
Settings explained
Max iterations 1,000 (ART-21290, corroborating only). Exact config NOT fully specified in external source. ART-157225
InputA loop condition (exact fields not externally documented).
OutputThe inner block repeats until the condition is met or the iteration cap (1,000) is reached.
Expected test outcomeEXPECTED (documented behaviour, config unverified): the block repeats until the condition is false or the 1,000-iteration cap is hit.
Common mistakes- No reproducible config is supplied by the docs, do not assume exact field labels.
- Omitting a terminating condition risks hitting the iteration cap.
Also search: while
Placeholders in <ANGLE_BRACKETS> stand in for your real workspace IDs (parts, users, groups, agents, connections, workflow IDs, endpoints). They are illustrative, not real identifiers. Field labels can vary by workspace, release, and subscription, use the actual variable picker and configuration panel.
37Documented; check org
Control
Initialize Variable
Declares a named, typed value the workflow can read and update later. ART-43344
Use when
Saving a running total, accumulated text, or a list that spans several steps.
When NOT to use
A variable must be declared before any step reads or writes it; the type is fixed once declared.
API Trigger
→Initialize Variable: total_matching_tickets:Number=0
→Loop
→Set Variable
Full configuration, I/O, test outcome & mistakes
Configure, step by step
- Add Initialize Variable from Controls.
- Give each variable a unique name and select its type.
- Set an optional initial value; enable Multiple values for an array.
- Place it before any step that uses it.
Settings explained
Type: Text / Number (int/double) / Boolean / Array / richer object. Multiple values toggle = array. Names unique; types fixed (ART-43344). ART-43344
InputName, type, optional initial value.
OutputNamed workflow variables with fixed declared types.
Expected test outcomeThe variable exists and holds its initial value before the first read.
Common mistakes- Reading a variable before declaring it.
- Expecting to change a declared type later.
Also search: initialize_variable init_variable
Placeholders in <ANGLE_BRACKETS> stand in for your real workspace IDs (parts, users, groups, agents, connections, workflow IDs, endpoints). They are illustrative, not real identifiers. Field labels can vary by workspace, release, and subscription, use the actual variable picker and configuration panel.
38Standard (listed in the Actions section)
Control
Set Variable
Writes or updates an already-declared workflow variable. ART-43344
Use when
Accumulating results across a loop or saving a computed decision.
When NOT to use
Set Value REPLACES the current value, use Append for arrays or Concatenate for text when you mean to accumulate.
Initialize Variable: names
→For Each item
→Set Variable: Append name
Full configuration, I/O, test outcome & mistakes
Configure, step by step
- Add Set Variable from Actions.
- Choose an existing variable.
- Choose the type-appropriate operation: Set Value, Increment, Append, or Concatenate.
- Map the incoming value from upstream output or a literal.
Settings explained
Operations auto-selected by type: Set Value (any), Increment (Number; negative to decrement), Append (Array; arrays spread), Concatenate (Text) (ART-43344). ART-43344
InputVariable, operation, value.
OutputUpdated variable value, subject to workflow and branch scope.
Expected test outcomeAfter the loop, an Append variable holds every appended item; an Increment counter equals the number of iterations.
Common mistakes- Using Set Value where you meant Append/Concatenate.
- Writing the same shared variable from parallel branches.
Also search: set_variable
Placeholders in <ANGLE_BRACKETS> stand in for your real workspace IDs (parts, users, groups, agents, connections, workflow IDs, endpoints). They are illustrative, not real identifiers. Field labels can vary by workspace, release, and subscription, use the actual variable picker and configuration panel.
39Availability-unverified
Control
Go Back
Availability warning: Public customer availability or exact setup is unverified. Confirm the node in the target organization before using this recipe.
ART-33224
Navigates execution to a previous step by its reference key. ART-13133
Use when
Documented as a flow-navigation utility; relevant only where retry-to-a-prior-step is needed.
When NOT to use
No external node-reference article documents it, do not rely on it in a production design without verifying its presence.
Step A
→...
→Go Back to Step A (documented behaviour; config unverified)
Full configuration, I/O, test outcome & mistakes
Configure, step by step
- Documented behaviour only: target a previous step reference_key.
- No reproducible external configuration is supplied.
Settings explained
Internal reference only (ART-13133: GoBack; ART-21254: go_back). NOT in any external node article. ART-13133
InputA previous step reference key (exact UI config not externally documented).
OutputEXPECTED (documented, unverified): execution returns to the referenced earlier step.
Expected test outcomeEXPECTED behaviour is documented but no reproducible config is supplied; verify presence per workspace.
Common mistakes- Assuming it is a standard canvas node.
- Relying on invented field inputs.
Also search: go_back
Placeholders in <ANGLE_BRACKETS> stand in for your real workspace IDs (parts, users, groups, agents, connections, workflow IDs, endpoints). They are illustrative, not real identifiers. Field labels can vary by workspace, release, and subscription, use the actual variable picker and configuration panel.
40Availability-unverified (agent-skill context)
Control
Set Agent Skill Output
Availability warning: Public customer availability or exact setup is unverified. Confirm the node in the target organization before using this recipe.
ART-33224
Sets the output returned by an AI-agent-skill workflow. ART-21290
Use when
Only when building a workflow that is registered as an agent skill (pairs with AI Agent Skill Trigger).
When NOT to use
Appears only in internal/agent-building contexts, not a general-automation node.
AI Agent Skill Trigger
→...
→Set Agent Skill Output
Full configuration, I/O, test outcome & mistakes
Configure, step by step
- Documented behaviour: set the structured output the skill returns to the calling agent.
- Exact fields appear only in internal/agent material.
Settings explained
Internal/agent context (ART-21290 excluded dump + ART-62644 internal). set_ai_agent_skill_output. ART-21290
InputThe skill output payload (schema matched to the skill contract).
OutputEXPECTED (documented, unverified): the agent receives the configured output when the skill run ends.
Expected test outcomeEXPECTED behaviour is documented; default canvas presence unverified outside agent-skill building.
Common mistakes- Treating it as a general automation node.
Also search: set_agent_skill_output set_ai_agent_skill_output
Placeholders in <ANGLE_BRACKETS> stand in for your real workspace IDs (parts, users, groups, agents, connections, workflow IDs, endpoints). They are illustrative, not real identifiers. Field labels can vary by workspace, release, and subscription, use the actual variable picker and configuration panel.
41Public release confirmed
ControlLoop over Custom Objects
Runs a loop over matching records of a custom object. ART-84194
Use when
Use for filtered bulk actions on a published custom object type.
When NOT to use
Do not confuse this with For Each over an array from another step.
Availability note: Available in all organizations per the release note, but the object must exist there. This does not prove For Each is generally available.
ART-84194
Trigger or prior step
→Loop over Custom Objects
→Next action or condition
Full configuration, I/O, test outcome & mistakes
Configure, step by step
- Choose the workspace-object Loop and target custom object type
- apply narrow filters
- add an inner action mapped to the current item
- test on a controlled record set.
Settings explained
Use the current panel for exact fields; publicly documented behaviour is cited. ART-84194
InputAn upstream record, filter or permitted query, as supported in the node panel.
OutputThe current record on each iteration.
Expected test outcomeOnly matching test records are processed.
Common mistakes- Assuming the same fields or permissions exist in a different organization.
- Using a sensitive or production object for an uncontrolled test.
Also search: loop_over_custom_objects
42Documented; check org
Transform & AI
Ask AI
Sends a prompt to an LLM to interpret or generate text from context you supply. ART-23969
Use when
Summaries, nuanced classification, extraction, and draft replies.
When NOT to use
Ask AI cannot fetch external data or call APIs, and does not save or send its answer by itself, retrieve context first and persist the result with an action.
Ticket Created
→Ask AI: classify intent (Structured)
→Router
Full configuration, I/O, test outcome & mistakes
Configure, step by step
- Add Action -> Ask AI.
- Write the task and inject upstream fields with Insert variable.
- Choose a model Mode.
- Choose Text for narrative or Structured for named typed fields.
- Define an "Other/unknown" fallback and test representative inputs.
Settings explained
Mode: Normal (default) / Advanced / Reasoning / GPT-5 Nano / GPT-5 Mini (metering differs). Output: Text / Structured (define JSON schema). Consumes credits (ART-23044 draft lists 4) (ART-23969). ART-23969
InputPrompt (supports variables), mode, output format.
OutputGenerated text, or structured named/typed fields for downstream steps.
Expected test outcomeA ticket titled "Refund not processed" returns category "Billing" in the structured field; an empty title returns the defined fallback.
Common mistakes- Expecting it to call an API or save its own answer.
- No fallback for ambiguous/empty input.
- Treating ticket text as instructions (prompt injection) rather than data.
Also search: ask_ai askai
Placeholders in <ANGLE_BRACKETS> stand in for your real workspace IDs (parts, users, groups, agents, connections, workflow IDs, endpoints). They are illustrative, not real identifiers. Field labels can vary by workspace, release, and subscription, use the actual variable picker and configuration panel.
43Documented; check org
Transform & AI
Classify Object
Uses AI to place a DevRev object into one of the categories you provide. ART-13133
Use when
A reusable category set such as Billing, Bug, Question, Other.
When NOT to use
Classification does NOT update your category field, add an Update action if you want the result saved.
Ticket Created
→Classify Object
→Router
Full configuration, I/O, test outcome & mistakes
Configure, step by step
- Select the object ID and supported object type.
- Define clearly distinguished category names and descriptions.
- Add guidelines, including ambiguity handling.
- Route or update a field using the returned category.
Settings explained
Inputs: object_id, object_type, categories[] (name+description), guidelines (optional). Output: category, justification, session_id (ART-13133). ART-13133
Inputobject_id, object_type, categories[], optional guidelines.
OutputChosen category + justification + session_id.
Expected test outcomeA clearly billing-related ticket returns category "Billing" with a short justification.
Common mistakes- Expecting the field to update automatically.
- Overlapping category descriptions that confuse the model.
Also search: classify_object classifyobject
Placeholders in <ANGLE_BRACKETS> stand in for your real workspace IDs (parts, users, groups, agents, connections, workflow IDs, endpoints). They are illustrative, not real identifiers. Field labels can vary by workspace, release, and subscription, use the actual variable picker and configuration panel.
44Documented; check org
Transform & AI
Evaluate Sentiment
Evaluates the emotional tone of a ticket or conversation. ART-43949
Use when
Flagging potentially frustrated customers for human review.
When NOT to use
Sentiment is a signal, not proof of churn, do not auto-make a major customer decision from it alone.
Conversation Created
→Evaluate Sentiment
→If/Else: negative?
→Send Notification
Full configuration, I/O, test outcome & mistakes
Configure, step by step
- Add the sentiment action; map the ticket/conversation ID.
- Inspect the actual sentiment output in a sample run.
- Use If/Else or Router on the returned sentiment.
- Keep an unknown/other fallback.
Settings explained
Input: object. Output: sentiment, justification (ART-43949 L0 course). EvaluateSentiment. ART-43949
InputTicket or conversation ID.
OutputSentiment label + justification.
Expected test outcomeAn angry message returns a negative sentiment label with a justification.
Common mistakes- Automating consequential actions off a single sentiment read.
Also search: evaluate_sentiment sentiment_evaluator
Placeholders in <ANGLE_BRACKETS> stand in for your real workspace IDs (parts, users, groups, agents, connections, workflow IDs, endpoints). They are illustrative, not real identifiers. Field labels can vary by workspace, release, and subscription, use the actual variable picker and configuration panel.
45Documented; check org
Transform & AI
Spam Checker
Checks whether a ticket or conversation appears to contain spam. ART-43949
Use when
Filtering noise before spending triage effort.
When NOT to use
A spam prediction does not delete, close, or move anything, those are separate actions, and uncertain cases should go to review.
Conversation Created
→Spam Checker
→If/Else: is_spam?
→review path
Full configuration, I/O, test outcome & mistakes
Configure, step by step
- Add Spam Checker.
- Map the ticket/conversation ID.
- Connect If/Else to the is_spam boolean.
- Send uncertain/sensitive cases to review rather than deleting.
Settings explained
Input: object id. Output: is_spam (bool) (ART-43949). ObjectSpamChecker. ART-43949
InputTicket or conversation ID.
Outputis_spam true/false.
Expected test outcomeAn obvious spam message returns is_spam=true; a genuine request returns false.
Common mistakes- Auto-deleting on a prediction.
- Treating false as "definitely safe".
Also search: spam_checker object_spam_checker
Placeholders in <ANGLE_BRACKETS> stand in for your real workspace IDs (parts, users, groups, agents, connections, workflow IDs, endpoints). They are illustrative, not real identifiers. Field labels can vary by workspace, release, and subscription, use the actual variable picker and configuration panel.
46Documented; check org
Transform & AI
Suggest Part
Suggests the product area / capability / feature relevant to an object. ART-43949
Use when
A ticket arrives with an unhelpful default product attribution.
When NOT to use
Do not write an empty suggested part ID when found is false, check the boolean first.
Ticket Created
→Suggest Part
→If/Else: found?
→Update Ticket: applies_to_part
Full configuration, I/O, test outcome & mistakes
Configure, step by step
- Map a ticket, conversation, or incident ID.
- Run Suggest Part.
- Check the found boolean first.
- When found is true, map the returned part ID into an Update action.
Settings explained
Input: id. Output: found (bool), id (ART-43949). SuggestPart. ART-43949
Outputfound boolean + suggested part ID.
Expected test outcomeA clearly billing ticket returns found=true with the billing part ID; an unclassifiable one returns found=false.
Common mistakes- Writing an empty part when found=false.
Also search: suggest_part suggestpart
Placeholders in <ANGLE_BRACKETS> stand in for your real workspace IDs (parts, users, groups, agents, connections, workflow IDs, endpoints). They are illustrative, not real identifiers. Field labels can vary by workspace, release, and subscription, use the actual variable picker and configuration panel.
47Documented; check org
Transform & AI
Search
Runs a DevRev search as a canvas action (named in bootcamp decks). ART-13133
Use when
Finding related objects by query inside a workflow.
When NOT to use
Exact input/output fields are not in a dedicated external article, do not invent them; inspect the actual node.
Trigger
→Search
→For Each result
Full configuration, I/O, test outcome & mistakes
Configure, step by step
- Add the Search action.
- Supply the query and scope as offered in your workspace.
- Consume the returned results downstream (likely an array -> For Each).
Settings explained
Named "Search" action node in bootcamp decks (ART-18004/ART-20356). Exact fields NOT in a dedicated external article. ART-13133
InputQuery/scope (exact fields not externally specified).
OutputSearch results (structure not fully documented externally).
Expected test outcomeEXPECTED (documented to exist, config unverified): matching objects are returned for downstream processing.
Common mistakes- Assuming a specific field schema that the docs do not define.
Also search: search
Placeholders in <ANGLE_BRACKETS> stand in for your real workspace IDs (parts, users, groups, agents, connections, workflow IDs, endpoints). They are illustrative, not real identifiers. Field labels can vary by workspace, release, and subscription, use the actual variable picker and configuration panel.
48Documented; check org
Transform & AI
Code / Execute Code
Runs custom Python in a sandbox when native controls are insufficient. ART-23382
Use when
Exact calculations, reshaping arrays, text cleanup, date arithmetic.
When NOT to use
Returned values are not visible downstream until declared in Output Values; never print connection secrets; no network/filesystem beyond allowed libs.
HTTP
→Code: reshape response
→For Each
Full configuration, I/O, test outcome & mistakes
Configure, step by step
- Add Execute Code.
- Map Input Values from upstream outputs.
- Write def run(inputs, keyrings): and return a dict.
- Declare every returned field in Output Values with matching names and types.
- Use stored connections for credentials; test empty and invalid inputs.
Settings explained
Signature fixed: def run(inputs, keyrings). Output Schema REQUIRED for downstream visibility (Text/Number/Boolean/Array/Timestamp/ID). Allowed libs: json, datetime, re, math, requests, collections, itertools, hashlib, uuid, csv. Blocked: os, sys, subprocess, shutil, pathlib, threading, pickle. Timeout 30s default/120s max; memory 256MB; output+log <=512KB (ART-23382). ART-23382
InputInput Values (name -> mapped variable); Connections (keyrings dict {id, secret}).
OutputDeclared output fields become downstream variables.
def run(inputs, keyrings):
title = inputs.get("ticket_title", "")
token = keyrings["<CONNECTION_NAME>"]["secret"] # never log this
return {"formatted_title": title.strip().upper()}
Expected test outcomeFor input ticket_title "please help" the sample below returns formatted_title "PLEASE HELP" in a declared Text output.
Common mistakes- Not declaring outputs (downstream sees nothing).
- Logging secrets.
- Using a blocked module.
Also search: code execute_code
Placeholders in <ANGLE_BRACKETS> stand in for your real workspace IDs (parts, users, groups, agents, connections, workflow IDs, endpoints). They are illustrative, not real identifiers. Field labels can vary by workspace, release, and subscription, use the actual variable picker and configuration panel.
49Documented; check org
Transform & AI
HTTP
Makes a request to any service with a REST API. ART-85305
Use when
Reading external data or sending a request when no dedicated node fits.
When NOT to use
Never assume the request succeeded or that the body is already parsed; keep credentials in a connection, not in the URL or body; add an error path.
API Trigger
→HTTP: fetch status
→If/Else: status_code 200?
Full configuration, I/O, test outcome & mistakes
Configure, step by step
- Add Action -> HTTP.
- Choose a stored connection and auth settings.
- Set endpoint, method, headers, and body as needed.
- Supply a sample response to expose named response fields.
- Inspect status and body; add an error path for failures.
Settings explained
Config: Auth Token connection (shows <name> OK Active); URL; Method GET/POST/PUT/DELETE; Auth Type; Headers; Body; optional sample response for parsed schema. Can attach keyrings (ART-85305, ART-157266). ART-85305
InputConnection, URL, method, headers, body, optional sample response.
Outputstatus_code, body, headers, content_type; named response fields if a sample was provided.
Expected test outcomeA GET to the mocked example below returns status_code 200 and a parsed body.status field for downstream use; a 404 should route to the error path.
Common mistakes- Treating a non-2xx as a business False instead of an error.
- Hardcoding secrets in the URL/body.
- Reading response fields without a sample response configured.
Also search: http
Placeholders in <ANGLE_BRACKETS> stand in for your real workspace IDs (parts, users, groups, agents, connections, workflow IDs, endpoints). They are illustrative, not real identifiers. Field labels can vary by workspace, release, and subscription, use the actual variable picker and configuration panel.
50Documented; check org
Read
Get Ticket
Retrieves a ticket by its ID. ART-13133
Use when
Refreshing state after a delay, or obtaining fields not supplied upstream.
When NOT to use
Use the ticket ID, not a title or display label; the trigger snapshot is stale after a wait.
Sleep For
→Get Ticket
→If/Else: still open?
Full configuration, I/O, test outcome & mistakes
Configure, step by step
- Add Get Ticket.
- Map the ticket ID via the variable selector.
- Select subtype/app context if offered.
- Use returned fields in a condition or action.
Settings explained
Input: ticket id. GetTicket (ART-13133). ART-13133
OutputCurrent ticket object.
Expected test outcomeAfter a pause, Get Ticket returns the current stage even if it changed during the wait.
Common mistakes- Using a title where an ID is required.
- Relying on the stale trigger snapshot.
Also search: get_ticket
Placeholders in <ANGLE_BRACKETS> stand in for your real workspace IDs (parts, users, groups, agents, connections, workflow IDs, endpoints). They are illustrative, not real identifiers. Field labels can vary by workspace, release, and subscription, use the actual variable picker and configuration panel.
51Documented; check org
Read
Get Issue
Retrieves an engineering issue by its ID. ART-13133
Use when
Inspecting an issue before updating it or building a support update.
When NOT to use
A ticket ID is not an issue ID, keep object types straight.
List Objects Linked to Ticket
→For Each issue
→Get Issue
Full configuration, I/O, test outcome & mistakes
Configure, step by step
- Add Get Issue.
- Map the issue ID from a trigger, creation step, or linked-object item.
- Consume returned fields downstream.
Settings explained
Input: issue id. GetIssue (ART-13133). ART-13133
OutputCurrent issue object.
Expected test outcomeGet Issue returns the current issue fields for the mapped ID.
Common mistakes- Passing a ticket ID as an issue ID.
Also search: get_issue
Placeholders in <ANGLE_BRACKETS> stand in for your real workspace IDs (parts, users, groups, agents, connections, workflow IDs, endpoints). They are illustrative, not real identifiers. Field labels can vary by workspace, release, and subscription, use the actual variable picker and configuration panel.
52Documented; check org
Read
Get Account
Retrieves an account by its ID. ART-13133
Use when
Using customer context in routing or an AI prompt.
When NOT to use
Do not assume a field such as tier exists on every account, confirm it in the picker.
Ticket Created
→Get Account
→Ask AI with account context
Full configuration, I/O, test outcome & mistakes
Configure, step by step
- Map an account ID from upstream context.
- Add an If/Else before this step if the association may be missing.
- Use fields that actually exist in your workspace.
Settings explained
Input: account id. GetAccount (ART-13133). ART-13133
Expected test outcomeGet Account returns the account record for the mapped ID.
Common mistakes- Assuming optional fields are always present.
Also search: get_account
Placeholders in <ANGLE_BRACKETS> stand in for your real workspace IDs (parts, users, groups, agents, connections, workflow IDs, endpoints). They are illustrative, not real identifiers. Field labels can vary by workspace, release, and subscription, use the actual variable picker and configuration panel.
53Documented; check org
Read
Get Contact
Retrieves a contact (rev_user) by its ID. ART-13133
Use when
Fetching the person record for enrichment or messaging context.
When NOT to use
A contact is not an account, map the correct person ID.
Contact Updated
→Get Contact
→HTTP sync
Full configuration, I/O, test outcome & mistakes
Configure, step by step
- Add Get Contact.
- Map the contact ID.
- Use returned fields downstream.
Settings explained
Input: contact id. GetContact / GetCustomer (ART-13133). ART-13133
OutputContact (rev_user) object.
Expected test outcomeReturns the current contact record for the mapped ID.
Common mistakes- Confusing contact with account.
Also search: get_contact get_customer
Placeholders in <ANGLE_BRACKETS> stand in for your real workspace IDs (parts, users, groups, agents, connections, workflow IDs, endpoints). They are illustrative, not real identifiers. Field labels can vary by workspace, release, and subscription, use the actual variable picker and configuration panel.
54Documented; check org
Read
Get Conversation
Retrieves a customer conversation by its ID. ART-13133
Use when
Reading current conversation context for an update or handoff.
When NOT to use
A conversation record is not necessarily the full transcript you imagined, inspect the output.
Conversation Updated
→Get Conversation
→Add Comment
Full configuration, I/O, test outcome & mistakes
Configure, step by step
- Add Get Conversation.
- Map the conversation ID.
- Use returned fields in later steps.
Settings explained
Input: conversation id. GetConversation (ART-13133). ART-13133
OutputConversation object.
Expected test outcomeReturns the current conversation record for the mapped ID.
Common mistakes- Expecting a full message transcript by default.
Also search: get_conversation
Placeholders in <ANGLE_BRACKETS> stand in for your real workspace IDs (parts, users, groups, agents, connections, workflow IDs, endpoints). They are illustrative, not real identifiers. Field labels can vary by workspace, release, and subscription, use the actual variable picker and configuration panel.
55Documented; check org
Read
Get Opportunity
Retrieves the current deal record by its ID. ART-13133
Use when
Rechecking deal status before a follow-up or using deal context.
When NOT to use
A deal triggered earlier may be closed by the time a delayed run resumes, re-read it.
Sleep Until
→Get Opportunity
→If/Else: still active?
Full configuration, I/O, test outcome & mistakes
Configure, step by step
- Map the opportunity ID.
- Add Get Opportunity.
- Use returned stage/dates/custom fields downstream.
Settings explained
Input: opportunity id. GetOpportunity (ART-13133). ART-13133
OutputOpportunity object.
Expected test outcomeReturns the current deal state, including a stage that may have changed during a wait.
Common mistakes- Acting on the stale trigger snapshot after a delay.
Also search: get_opportunity
Placeholders in <ANGLE_BRACKETS> stand in for your real workspace IDs (parts, users, groups, agents, connections, workflow IDs, endpoints). They are illustrative, not real identifiers. Field labels can vary by workspace, release, and subscription, use the actual variable picker and configuration panel.
56Documented; check org
Read
List Objects Linked to Ticket
Returns related objects and relationships for a ticket. ART-13133
Use when
Checking linked engineering issues or processing related work.
When NOT to use
A list is not one record, use the current item inside a For Each when processing each relationship.
Get Ticket
→List Objects Linked to Ticket
→For Each
→Get Issue
Full configuration, I/O, test outcome & mistakes
Configure, step by step
- Map the ticket ID.
- Choose object types to include and a relationship filter if needed.
- Use the returned array with For Each.
- Fetch an item full details if the listing lacks context.
Settings explained
ListObjectsLinkedToTicket (ART-13133). Separate documented action: List Objects Linked to Issue. ART-13133
InputTicket ID + optional type/relationship filter.
OutputArray of linked objects and relationship info.
Expected test outcomeA ticket linked to 2 issues returns a 2-item array.
Common mistakes- Treating the list as a single object.
Also search: list_objects_linked_to_ticket
Placeholders in <ANGLE_BRACKETS> stand in for your real workspace IDs (parts, users, groups, agents, connections, workflow IDs, endpoints). They are illustrative, not real identifiers. Field labels can vary by workspace, release, and subscription, use the actual variable picker and configuration panel.
57Public release confirmed
ReadList Timeline Entries
Retrieves timeline activity for an object. ART-84194
Use when
Use comments or events as inputs to summaries or follow-up logic.
When NOT to use
This is a list, not a single natural-language summary.
Availability note: Generally available per the release note. Do not mistake it for the separately installed Timeline Summary extension or assume the API field list matches the canvas.
ART-84194
Trigger or prior step
→List Timeline Entries
→Next action or condition
Full configuration, I/O, test outcome & mistakes
Configure, step by step
- Add List Timeline Entries
- map the target record ID from an upstream step
- inspect current filter and pagination options
- test on a record with known visible activity.
Settings explained
Use the current panel for exact fields; publicly documented behaviour is cited. ART-84194
InputAn upstream record, filter or permitted query, as supported in the node panel.
OutputVisible timeline entries returned for the selected record.
Expected test outcomeThe expected entries appear under the workflow identity permissions.
Common mistakes- Assuming the same fields or permissions exist in a different organization.
- Using a sensitive or production object for an uncontrolled test.
Also search: list_timeline_entries
58Documented; check org
ReadGet Time
Returns current time components in a selected timezone. ART-13133
Use when
Use current-time checks rather than asking AI to calculate the clock.
When NOT to use
Do not use a stale trigger timestamp after a long wait.
Availability note: Documented in the operation reference and used in customer workflows, but universal customer availability was not verified. ART-13133
Trigger or prior step
→Get Time
→Next action or condition
Full configuration, I/O, test outcome & mistakes
Configure, step by step
- Choose Get Time if offered
- select the current-time action and timezone in the node panel
- compare a returned field downstream
- test the timezone.
Settings explained
Use the current panel for exact fields; publicly documented behaviour is cited. ART-13133
InputAn upstream record, filter or permitted query, as supported in the node panel.
OutputCurrent timestamp and time components.
Expected test outcomeA controlled run returns the expected local time.
Common mistakes- Assuming the same fields or permissions exist in a different organization.
- Using a sensitive or production object for an uncontrolled test.
Also search: get_time
59Special enablement
ReadRun SQL / Oasis SQL Execute
Executes an authorized data query and returns its result to later steps. ART-33224
Use when
Use for data-based branching only after the target organization is enabled.
When NOT to use
Do not make it a default requirement of portable partner templates.
Availability note: The public troubleshooting guide lists oasis_sql_execute behind organization-specific enablement. Do not promise it to every customer.
ART-33224
Trigger or prior step
→Run SQL / Oasis SQL Execute
→Next action or condition
Full configuration, I/O, test outcome & mistakes
Configure, step by step
- Confirm the node is enabled and the workflow has dataset access
- enter a bounded read-only query in the actual node panel
- inspect its output
- handle empty and error results.
Settings explained
Use the current panel for exact fields; publicly documented behaviour is cited. ART-33224
InputAn upstream record, filter or permitted query, as supported in the node panel.
OutputQuery result data as exposed in the enabled workspace.
Expected test outcomeA small permitted query returns the expected result, or the unavailable node blocks setup.
Common mistakes- Assuming the same fields or permissions exist in a different organization.
- Using a sensitive or production object for an uncontrolled test.
Also search: oasis_sql_execute run_sql
60Documented; check org
ReadGet Enhancement
Retrieves an enhancement by its ID. ART-21901
Use when
Checking a product request before a follow-up.
When NOT to use
Do not pass a ticket or issue ID as an enhancement ID.
Availability note: The customer-facing action library documents this operation, but target-org visibility, permissions and exact panel fields still need checking.
ART-21901
Enhancement Updated
→Get Enhancement
→If/Else: review needed?
Full configuration, I/O, test outcome & mistakes
Configure, step by step
- Add Get Enhancement if it appears in the action picker; map the required IDs from the variable picker; set only supported fields or filters; run on a controlled test record.
- Inspect the actual inputs and outputs in a test run before publishing to production.
Settings explained
Documented operation: get_enhancement. Use the current node panel for exact field names. ART-21901
OutputEnhancement object.
Expected test outcomeRead a known test enhancement and confirm the returned record.
Common mistakes- Mapping an ID of the wrong object type; assuming all fields and permissions match a different organization.
Also search: get_enhancement
Examples are illustrative, not exported workflows. Use the actual configuration panel, permissions, and variable picker in the destination organization.
61Documented; check org
ReadGet Feature
Retrieves a feature by its ID. ART-21901
Use when
Checking current feature details before deciding what to do.
When NOT to use
Do not substitute an enhancement ID for the feature ID.
Availability note: The customer-facing action library documents this operation, but target-org visibility, permissions and exact panel fields still need checking.
ART-21901
API Trigger
→Get Feature
→If/Else: eligible?
Full configuration, I/O, test outcome & mistakes
Configure, step by step
- Add Get Feature if it appears in the action picker; map the required IDs from the variable picker; set only supported fields or filters; run on a controlled test record.
- Inspect the actual inputs and outputs in a test run before publishing to production.
Settings explained
Documented operation: get_feature. Use the current node panel for exact field names. ART-21901
Expected test outcomeRead a known test feature and check its current fields.
Common mistakes- Mapping an ID of the wrong object type; assuming all fields and permissions match a different organization.
Also search: get_feature
Examples are illustrative, not exported workflows. Use the actual configuration panel, permissions, and variable picker in the destination organization.
62Documented; check org
ReadGet Incident
Retrieves an incident by its ID. ART-21901
Use when
Refreshing incident status before notifying others.
When NOT to use
Do not act on a stale incident snapshot after a delay.
Availability note: The customer-facing action library documents this operation, but target-org visibility, permissions and exact panel fields still need checking.
ART-21901
Incident Updated
→Get Incident
→If/Else: notify?
Full configuration, I/O, test outcome & mistakes
Configure, step by step
- Add Get Incident if it appears in the action picker; map the required IDs from the variable picker; set only supported fields or filters; run on a controlled test record.
- Inspect the actual inputs and outputs in a test run before publishing to production.
Settings explained
Documented operation: get_incident. Use the current node panel for exact field names. ART-21901
Expected test outcomeRead a test incident and confirm the returned current state.
Common mistakes- Mapping an ID of the wrong object type; assuming all fields and permissions match a different organization.
Also search: get_incident
Examples are illustrative, not exported workflows. Use the actual configuration panel, permissions, and variable picker in the destination organization.
63Documented; check org
ReadGet Meeting
Retrieves a meeting by its ID. ART-21901
Use when
Checking the current meeting record before follow-up.
When NOT to use
Do not assume this action retrieves an external calendar transcript.
Availability note: The customer-facing action library documents this operation, but target-org visibility, permissions and exact panel fields still need checking.
ART-21901
Meeting Updated
→Get Meeting
→If/Else: follow-up?
Full configuration, I/O, test outcome & mistakes
Configure, step by step
- Add Get Meeting if it appears in the action picker; map the required IDs from the variable picker; set only supported fields or filters; run on a controlled test record.
- Inspect the actual inputs and outputs in a test run before publishing to production.
Settings explained
Documented operation: get_meeting. Use the current node panel for exact field names. ART-21901
Expected test outcomeRead a test meeting and confirm its current record fields.
Common mistakes- Mapping an ID of the wrong object type; assuming all fields and permissions match a different organization.
Also search: get_meeting
Examples are illustrative, not exported workflows. Use the actual configuration panel, permissions, and variable picker in the destination organization.
64Documented; check org
ReadList Objects Linked to Issue
Lists objects linked to an issue, with relationship information. ART-21901
Use when
Checking related work before escalating an issue.
When NOT to use
The output is an array, not a single related ticket; For Each may require special enablement.
Availability note: The customer-facing action library documents this operation, but target-org visibility, permissions and exact panel fields still need checking. For Each is separately gated; do not make it a default follow-up step.
ART-21901 ART-33224
Issue Updated
→List Objects Linked to Issue
→If/Else: any links?
Full configuration, I/O, test outcome & mistakes
Configure, step by step
- Add List Objects Linked to Issue if it appears in the action picker; map the required IDs from the variable picker; set only supported fields or filters; run on a controlled test record.
- Inspect the actual inputs and outputs in a test run before publishing to production.
Settings explained
Documented operation: list_objects_linked_to_issue. Use the current node panel for exact field names. ART-21901 ART-33224
InputIssue ID, object types, optional relationship filter
OutputArray of linked objects and relationships.
Expected test outcomeA test issue with known links returns the expected array.
Common mistakes- Mapping an ID of the wrong object type; assuming all fields and permissions match a different organization.
Also search: list_objects_linked_to_issue
Examples are illustrative, not exported workflows. Use the actual configuration panel, permissions, and variable picker in the destination organization.
65Documented; check org
Change
Create Ticket
Creates a new customer-support work record. ART-13133
Use when
Starting tracked support work from external data or another process.
When NOT to use
Retrying creation can produce duplicates, add a dedup check for repeated inbound requests.
API Trigger
→Create Ticket
→Add Comment: internal
Full configuration, I/O, test outcome & mistakes
Configure, step by step
- Map a clear title and body.
- Choose part, owner, account, stage, priority, custom fields as required.
- Use the returned new ticket ID for follow-up steps.
- Check for an existing ticket when duplicates are possible.
Settings explained
Inputs (ART-13133 verbatim): title (req), body (req), applies_to_part, owned_by[], tags[], priority_v2 (1=P0..5=P4, default 3), stage, rev_org, account, expected_resolution_date (ISO), subtype, app_custom_fields. Output: full created ticket incl. system ID. ART-13133
Inputtitle, body, applies_to_part, owned_by[], priority_v2, etc.
OutputThe created ticket object, including its generated ID.
Expected test outcomeCreating with the sample below returns a new TKT id you can reference downstream.
Common mistakes- Duplicate tickets on retry.
- Omitting required title/body.
Also search: create_ticket
Placeholders in <ANGLE_BRACKETS> stand in for your real workspace IDs (parts, users, groups, agents, connections, workflow IDs, endpoints). They are illustrative, not real identifiers. Field labels can vary by workspace, release, and subscription, use the actual variable picker and configuration panel.
66Documented; check org
Change
Create Issue
Creates an engineering issue. ART-13133
Use when
A support request needs a tracked bug or engineering task.
When NOT to use
Creating an issue does NOT automatically link it back to the support ticket, add a Link step.
Ticket Created
→Create Issue
→Link Ticket with Issue
Full configuration, I/O, test outcome & mistakes
Configure, step by step
- Map a concise title and diagnostic body.
- Set product, owner, priority, workspace fields.
- Capture the returned issue ID.
- Link it to the originating ticket when relevant.
Settings explained
CreateIssue (ART-13133). Core fields: title, body, applies_to_part, owned_by[], priority. ART-13133
Inputtitle, body, applies_to_part, owned_by[], priority.
OutputThe created issue object and ID.
Expected test outcomeReturns a new issue id; the following Link step connects it to the ticket.
Common mistakes- Forgetting the link-back step.
Also search: create_issue
Placeholders in <ANGLE_BRACKETS> stand in for your real workspace IDs (parts, users, groups, agents, connections, workflow IDs, endpoints). They are illustrative, not real identifiers. Field labels can vary by workspace, release, and subscription, use the actual variable picker and configuration panel.
67Documented; check org
Change
Create Account
Creates a customer account (organisation) record. ART-13133
Use when
Onboarding a new org from an external signup or CRM sync.
When NOT to use
Check for an existing account by domain/external-ref first to avoid duplicates.
API Trigger
→If/Else: account exists?
→Create Account
Full configuration, I/O, test outcome & mistakes
Configure, step by step
- Map display_name and identifying fields.
- Set tier, domains, owned_by as required.
- Capture the returned account ID.
- Dedup before creating.
Settings explained
CreateAccount (ART-13133). Core fields: display_name, domains, tier, owned_by. ART-13133
Inputdisplay_name, domains, tier, owned_by.
OutputThe created account object and ID.
Expected test outcomeReturns a new account id when no match exists.
Common mistakes- Duplicate orgs from missing dedup.
Also search: create_account
Placeholders in <ANGLE_BRACKETS> stand in for your real workspace IDs (parts, users, groups, agents, connections, workflow IDs, endpoints). They are illustrative, not real identifiers. Field labels can vary by workspace, release, and subscription, use the actual variable picker and configuration panel.
68Documented; check org
Change
Create Contact
Creates a contact (rev_user) person record. ART-13133
Use when
Registering a new person from a signup, form, or CRM sync.
When NOT to use
Associate to the correct account; a contact without an org can be hard to route.
Contact form
→Create Contact
→Add Comment
Full configuration, I/O, test outcome & mistakes
Configure, step by step
- Map display_name, email, phone.
- Set the rev_org/account association.
- Capture the returned contact ID.
Settings explained
CreateContact (ART-13133). Core fields: display_name, email, phone_numbers, external_refs. ART-13133
Inputdisplay_name, email, phone_numbers, account/rev_org.
OutputThe created contact object and ID.
Expected test outcomeReturns a new contact id.
Common mistakes- Creating a contact detached from any account.
Also search: create_contact
Placeholders in <ANGLE_BRACKETS> stand in for your real workspace IDs (parts, users, groups, agents, connections, workflow IDs, endpoints). They are illustrative, not real identifiers. Field labels can vary by workspace, release, and subscription, use the actual variable picker and configuration panel.
69Documented; check org
Change
Create Opportunity
Creates a deal (opportunity) record. ART-13133
Use when
Converting a qualified signal into a tracked sales deal.
When NOT to use
Stage/custom fields are workspace-specific, use real picker values.
API Trigger
→Create Opportunity
→Send Notification
Full configuration, I/O, test outcome & mistakes
Configure, step by step
- Map the deal name and account.
- Set stage, amount, owner, custom fields as required.
- Capture the returned opportunity ID.
Settings explained
CreateOpportunity (ART-13133). Core fields: title/name, account, stage, owned_by. ART-13133
Inputname, account, stage, owned_by.
OutputThe created opportunity object and ID.
Expected test outcomeReturns a new opportunity id.
Common mistakes- Using non-existent stage values.
Also search: create_opportunity
Placeholders in <ANGLE_BRACKETS> stand in for your real workspace IDs (parts, users, groups, agents, connections, workflow IDs, endpoints). They are illustrative, not real identifiers. Field labels can vary by workspace, release, and subscription, use the actual variable picker and configuration panel.
70Documented; check org
Change
Create Meeting
Availability warning: This action appears in the customer-facing action library. Confirm visibility, permissions and exact fields in the destination organization.
ART-21901
Creates a meeting record. ART-21901
Use when
Logging a scheduled or completed meeting against an object.
When NOT to use
The customer-facing action library documents it, but confirm the destination panel before relying on it.
Trigger
→Create Meeting (check target org)
Full configuration, I/O, test outcome & mistakes
Configure, step by step
- Documented behaviour: create a meeting with title, participants, and timing.
- Use the destination panel to confirm exact field names.
Settings explained
CreateMeeting (ART-21901, customer-facing action library). Target-org visibility and exact fields not verified. ART-21901
InputTitle, description, start date and attendees, as supported by the destination panel.
OutputThe created meeting object (documented).
Expected test outcomeEXPECTED (documented operation): a meeting record is created. Check canvas presence and permissions in the destination org.
Common mistakes- Assuming it ships on every canvas.
Also search: create_meeting
Placeholders in <ANGLE_BRACKETS> stand in for your real workspace IDs (parts, users, groups, agents, connections, workflow IDs, endpoints). They are illustrative, not real identifiers. Field labels can vary by workspace, release, and subscription, use the actual variable picker and configuration panel.
71Documented; check org
Change
Create Incident
Availability warning: This action appears in the customer-facing action library. Confirm visibility, permissions and exact fields in the destination organization.
ART-21901
Creates an incident record for a service disruption. ART-21901
Use when
A verified outage needs incident coordination and traceability.
When NOT to use
Do not auto-create an incident from every negative sentiment or error; the customer-facing action library documents Create Incident; still confirm the destination canvas.
API Trigger
→If/Else: confirmed outage?
→Create Incident
Full configuration, I/O, test outcome & mistakes
Configure, step by step
- Confirm the event meets your incident policy.
- Map title, body, affected part, required fields.
- Keep a human review gate for sensitive escalation.
- Use the returned incident ID for tracking.
Settings explained
CreateIncident (ART-21901, customer-facing action library). Target-org visibility and exact fields not verified. ART-21901
InputTitle, body and affected part, as supported by the destination panel.
OutputThe created incident object (documented).
Expected test outcomeEXPECTED (documented operation): an incident is created. Check canvas presence and permissions in the destination org.
Common mistakes- Auto-escalating noise into incidents.
- Assuming visibility in every organization.
Also search: create_incident
Placeholders in <ANGLE_BRACKETS> stand in for your real workspace IDs (parts, users, groups, agents, connections, workflow IDs, endpoints). They are illustrative, not real identifiers. Field labels can vary by workspace, release, and subscription, use the actual variable picker and configuration panel.
72Documented; check org
Change
Convert Conversation to Ticket
Turns a supported conversation into a tracked ticket. ART-13133
Use when
A PLuG or Slack conversation needs formal support ownership and tracking.
When NOT to use
Documented support is PLuG and Slack conversations, do not assume every channel is supported.
Conversation Created
→If/Else: needs ticket?
→Convert Conversation to Ticket
Full configuration, I/O, test outcome & mistakes
Configure, step by step
- Map the conversation ID.
- Check conversion is supported for that channel.
- Run the conversion.
- Use the returned ticket_id in ticket actions.
Settings explained
ConvertConversationToTicket (ART-13133). Output: ticket_id. ART-13133
OutputThe ID of the created ticket.
Expected test outcomeA PLuG conversation returns a new ticket id; an unsupported channel should be guarded out.
Common mistakes- Assuming all channels convert.
Also search: convert_conversation_to_ticket
Placeholders in <ANGLE_BRACKETS> stand in for your real workspace IDs (parts, users, groups, agents, connections, workflow IDs, endpoints). They are illustrative, not real identifiers. Field labels can vary by workspace, release, and subscription, use the actual variable picker and configuration panel.
73Documented; check org
Change
Update Ticket
Changes selected fields on an existing ticket. ART-13133
Use when
Assigning ownership, saving a classification, or changing stage.
When NOT to use
Selecting a user does not assign the ticket by itself, an Update does; and writing a watched field can self-retrigger Ticket Updated.
Pick User by Group
→Update Ticket: owner
→Add Comment
Full configuration, I/O, test outcome & mistakes
Configure, step by step
- Map the ticket ID.
- Set only the fields the workflow intends to change.
- Use workspace enum values and custom fields.
- Check trigger guards; test with a sample ticket.
Settings explained
UpdateTicket (ART-13133). Set only intended fields. ART-13133
InputTicket ID + fields to change.
OutputThe updated ticket object.
Expected test outcomeSetting owner to the picked user reassigns the ticket; re-running with the same value is a no-op change.
Common mistakes- Expecting Pick User alone to assign.
- Self-trigger loop with Ticket Updated.
Also search: update_ticket
Placeholders in <ANGLE_BRACKETS> stand in for your real workspace IDs (parts, users, groups, agents, connections, workflow IDs, endpoints). They are illustrative, not real identifiers. Field labels can vary by workspace, release, and subscription, use the actual variable picker and configuration panel.
74Documented; check org
Change
Update Issue
Changes fields on an existing engineering issue. ART-13133
Use when
Saving engineering triage decisions or progressing work.
When NOT to use
Watch for a self-triggering loop when updating a field also watched by Issue Updated.
Issue Updated
→If/Else: needs triage?
→Update Issue
Full configuration, I/O, test outcome & mistakes
Configure, step by step
- Map the issue ID.
- Choose intended fields and valid workspace values.
- Use a current-state check if the update depends on old data.
- Inspect the result in a controlled test.
Settings explained
UpdateIssue (ART-13133). ART-13133
InputIssue ID + fields to change.
OutputThe updated issue object.
Expected test outcomeSetting the chosen fields returns the updated issue.
Also search: update_issue
Placeholders in <ANGLE_BRACKETS> stand in for your real workspace IDs (parts, users, groups, agents, connections, workflow IDs, endpoints). They are illustrative, not real identifiers. Field labels can vary by workspace, release, and subscription, use the actual variable picker and configuration panel.
75Documented; check org
Change
Update Conversation
Changes conversation fields such as stage. ART-13133
Use when
Moving a conversation into the next support state.
When NOT to use
Changing a conversation is not the same as changing the ticket linked to it.
Conversation Created
→If/Else: triage complete?
→Update Conversation
Full configuration, I/O, test outcome & mistakes
Configure, step by step
- Map the conversation ID.
- Choose available fields and the valid stage value.
- Apply a guard if the same workflow watches those fields.
Settings explained
UpdateConversation (ART-13133). ART-13133
InputConversation ID + fields to change.
OutputThe updated conversation object.
Expected test outcomeSetting the chosen stage returns the updated conversation.
Common mistakes- Confusing conversation and linked-ticket updates.
Also search: update_conversation
Placeholders in <ANGLE_BRACKETS> stand in for your real workspace IDs (parts, users, groups, agents, connections, workflow IDs, endpoints). They are illustrative, not real identifiers. Field labels can vary by workspace, release, and subscription, use the actual variable picker and configuration panel.
76Documented; check org
Change
Update Opportunity
Changes fields on an existing deal. ART-13133
Use when
Saving a validated next step or an approved stage change.
When NOT to use
AI suggestions should not auto-move a deal stage without your business rules.
Opportunity Updated
→If/Else: approved transition?
→Update Opportunity
Full configuration, I/O, test outcome & mistakes
Configure, step by step
- Map the opportunity ID.
- Choose only intended deal fields.
- Use actual stage/custom-field values.
- Gate major changes behind an approval policy.
Settings explained
UpdateOpportunity (ART-13133). ART-13133
InputOpportunity ID + fields to change.
OutputThe updated opportunity object.
Expected test outcomeSetting the chosen fields returns the updated deal.
Common mistakes- Auto-advancing stages from AI alone.
Also search: update_opportunity
Placeholders in <ANGLE_BRACKETS> stand in for your real workspace IDs (parts, users, groups, agents, connections, workflow IDs, endpoints). They are illustrative, not real identifiers. Field labels can vary by workspace, release, and subscription, use the actual variable picker and configuration panel.
77Documented; check org
Change
Update Account
Changes fields on an existing customer account. ART-13133
Use when
Applying onboarding defaults or saving reviewed account context.
When NOT to use
Avoid overwriting trusted account data with an inferred value without review.
Account Created
→Update Account
→Add Comment
Full configuration, I/O, test outcome & mistakes
Configure, step by step
- Map the account ID.
- Choose allowed fields and valid values.
- Verify the record is the intended account before writing.
Settings explained
UpdateAccount (ART-13133). ART-13133
InputAccount ID + fields to change.
OutputThe updated account object.
Expected test outcomeSetting the chosen fields returns the updated account.
Common mistakes- Overwriting good data with a guess.
Also search: update_account
Placeholders in <ANGLE_BRACKETS> stand in for your real workspace IDs (parts, users, groups, agents, connections, workflow IDs, endpoints). They are illustrative, not real identifiers. Field labels can vary by workspace, release, and subscription, use the actual variable picker and configuration panel.
78Documented; check org
Change
Update Contact
Changes fields on an existing contact (rev_user). ART-13133
Use when
Saving enrichment results or corrected person details.
When NOT to use
Confirm you have the correct person ID before writing.
HTTP: enrich
→Update Contact
Full configuration, I/O, test outcome & mistakes
Configure, step by step
- Map the contact ID.
- Choose allowed fields and valid values.
- Verify the record before writing.
Settings explained
UpdateContact (ART-13133). ART-13133
InputContact ID + fields to change.
OutputThe updated contact object.
Expected test outcomeSetting the chosen fields returns the updated contact.
Common mistakes- Writing to the wrong contact.
Also search: update_contact
Placeholders in <ANGLE_BRACKETS> stand in for your real workspace IDs (parts, users, groups, agents, connections, workflow IDs, endpoints). They are illustrative, not real identifiers. Field labels can vary by workspace, release, and subscription, use the actual variable picker and configuration panel.
79Documented; check org
ChangeUpdate Enhancement
Updates an existing enhancement. ART-21901
Use when
Saving a reviewed product-request field change.
When NOT to use
Do not update fields watched by Enhancement Updated without a loop guard.
Availability note: The customer-facing action library documents this operation, but target-org visibility, permissions and exact panel fields still need checking.
ART-21901
Enhancement Updated
→If/Else: needs change?
→Update Enhancement
Full configuration, I/O, test outcome & mistakes
Configure, step by step
- Add Update Enhancement if it appears in the action picker; map the required IDs from the variable picker; set only supported fields or filters; run on a controlled test record.
- Inspect the actual inputs and outputs in a test run before publishing to production.
Settings explained
Documented operation: update_enhancement. Use the current node panel for exact field names. ART-21901
InputEnhancement ID and intended field changes
OutputUpdated enhancement object.
Expected test outcomeA test enhancement reflects only the intended fields.
Common mistakes- Mapping an ID of the wrong object type; assuming all fields and permissions match a different organization.
Also search: update_enhancement
Examples are illustrative, not exported workflows. Use the actual configuration panel, permissions, and variable picker in the destination organization.
80Documented; check org
ChangeUpdate Incident
Updates an existing incident. ART-21901
Use when
Recording an approved incident status or detail change.
When NOT to use
Do not silently change incident stage or overwrite an active response; use the approved process.
Availability note: The customer-facing action library documents this operation, but target-org visibility, permissions and exact panel fields still need checking.
ART-21901
Incident Updated
→If/Else: approved?
→Update Incident
Full configuration, I/O, test outcome & mistakes
Configure, step by step
- Add Update Incident if it appears in the action picker; map the required IDs from the variable picker; set only supported fields or filters; run on a controlled test record.
- Inspect the actual inputs and outputs in a test run before publishing to production.
Settings explained
Documented operation: update_incident. Use the current node panel for exact field names. ART-21901
InputIncident ID and intended field changes
OutputUpdated incident object.
Expected test outcomeA controlled incident shows the expected authorized change.
Common mistakes- Mapping an ID of the wrong object type; assuming all fields and permissions match a different organization.
Also search: update_incident
Examples are illustrative, not exported workflows. Use the actual configuration panel, permissions, and variable picker in the destination organization.
81Documented; check org
ChangeUpdate Meeting
Updates an existing meeting record. ART-21901
Use when
Correcting a meeting record after review.
When NOT to use
Do not treat this as a calendar reschedule or an external invite update.
Availability note: The customer-facing action library documents this operation, but target-org visibility, permissions and exact panel fields still need checking.
ART-21901
Meeting Updated
→If/Else: correction needed?
→Update Meeting
Full configuration, I/O, test outcome & mistakes
Configure, step by step
- Add Update Meeting if it appears in the action picker; map the required IDs from the variable picker; set only supported fields or filters; run on a controlled test record.
- Inspect the actual inputs and outputs in a test run before publishing to production.
Settings explained
Documented operation: update_meeting. Use the current node panel for exact field names. ART-21901
InputMeeting ID and intended field changes
OutputUpdated meeting object.
Expected test outcomeA test meeting reflects the intended record change.
Common mistakes- Mapping an ID of the wrong object type; assuming all fields and permissions match a different organization.
Also search: update_meeting
Examples are illustrative, not exported workflows. Use the actual configuration panel, permissions, and variable picker in the destination organization.
82Documented; check org
Communicate
Add Comment
Posts text on a ticket, issue, conversation, or other supported object. ART-13133
Use when
Internal notes, acknowledgements, reviewed replies, audit context.
When NOT to use
Never leave visibility to chance, an external comment can be visible to customers.
Ask AI: draft summary
→Add Comment: internal
Full configuration, I/O, test outcome & mistakes
Configure, step by step
- Map the target object ID.
- Write the body with upstream variables.
- Explicitly set visibility: internal / external / private.
- For private, configure allowed users.
- Verify destination and visibility in a test.
Settings explained
Inputs: object (req), body (req, rich text), visibility (external default / internal / private), users[] (required if private). Output: comment id, created_by (ART-13133). ART-13133
Inputobject, body, visibility, users[] (if private).
OutputCreated comment ID + author info.
Expected test outcomeA comment set to internal appears on the ticket and is not customer-facing; external would be visible to the customer.
Common mistakes- Default visibility leaking an internal note externally.
- Private comment without allowed users.
Also search: add_comment
Placeholders in <ANGLE_BRACKETS> stand in for your real workspace IDs (parts, users, groups, agents, connections, workflow IDs, endpoints). They are illustrative, not real identifiers. Field labels can vary by workspace, release, and subscription, use the actual variable picker and configuration panel.
83Documented; check org
Communicate
Send Notification
Sends a DevRev notification to specified users. ART-13133
Use when
Internal alerts, reminders, ownership-change notifications.
When NOT to use
This is not a Slack message or a customer email, use the intended channel for those.
If/Else: urgent?
→Send Notification
Full configuration, I/O, test outcome & mistakes
Configure, step by step
- Select recipient IDs.
- Map title and body.
- Configure required template fields if shown.
- Link the related object for context.
Settings explained
Inputs: receivers[] (user IDs), body, title, content_template_id, linked_object (optional) (ART-13133). ART-13133
Inputreceivers[], title, body, optional linked_object.
OutputSuccess response (not a new ticket or customer comment).
Expected test outcomeThe listed recipients receive an in-DevRev notification with the configured title/body.
Common mistakes- Confusing it with Slack/email channels.
Also search: send_notification
Placeholders in <ANGLE_BRACKETS> stand in for your real workspace IDs (parts, users, groups, agents, connections, workflow IDs, endpoints). They are illustrative, not real identifiers. Field labels can vary by workspace, release, and subscription, use the actual variable picker and configuration panel.
84Documented; check org
Communicate
Ask Options / Nudge Buttons
Presents interactive buttons and continues through the chosen button path. ART-13133
Use when
Collecting a structured choice or a permission-appropriate approval interaction.
When NOT to use
A button is not automatically an authorization check, confirm who can see and click it before using it for approval.
Add Comment
→Ask Options: approve / reject
→approved path
Full configuration, I/O, test outcome & mistakes
Configure, step by step
- Choose the target object and message.
- Define unique button names and visible labels.
- Set panel, visibility, and eligible private users.
- Attach the correct action to each output port.
- Test as the actual intended user type.
Settings explained
Inputs: object (req), message, buttons[] (name + display_name) (req), visibility, panel (CustomerChat default / Discussions), private_to[]. Creates dynamic output ports per button. NudgeButtonsClicked is a related variant (ART-13133). ART-13133
Inputobject, message, buttons[], panel, visibility.
OutputDynamic output ports, one per button selection.
Expected test outcomeClicking "approve" routes to the approve port; clicking "reject" routes to the reject port.
Common mistakes- Treating a button as an authorization gate.
- Testing as the wrong user type.
Also search: ask_options nudge_buttons nudge_buttons_clicked
Placeholders in <ANGLE_BRACKETS> stand in for your real workspace IDs (parts, users, groups, agents, connections, workflow IDs, endpoints). They are illustrative, not real identifiers. Field labels can vary by workspace, release, and subscription, use the actual variable picker and configuration panel.
85Documented; check org
Communicate
Pick User by Group
Selects a user from an eligible group or user list using an assignment strategy. ART-43950
Use when
Fair support distribution or choosing an available owner before assignment.
When NOT to use
Router selects a path; Pick User selects a person, selection alone is not the assignment (follow with Update).
Ticket Created
→Pick User by Group
→Update Ticket: owner
Full configuration, I/O, test outcome & mistakes
Configure, step by step
- Search Actions for Pick User / Pick User by Group.
- Choose the object type, group, and eligible users.
- Select round-robin, load balancing, or random.
- Configure agent availability if needed.
- Map the selected user into Update Ticket to assign.
Settings explained
Config: Object (ticket/conversation), Group, Users (allowed agents), Strategy, Agent availability (active-only). Strategies: Round-robin, Load balancing, Random (ART-43950). ART-43950
Inputobject, group, users[], strategy, availability toggle.
OutputThe selected user, available for downstream ownership mapping.
Expected test outcomeRound-robin returns the next eligible agent in rotation; the following Update assigns them.
Common mistakes- Expecting selection to assign the ticket.
Also search: pick_user pick_user_by_group
Placeholders in <ANGLE_BRACKETS> stand in for your real workspace IDs (parts, users, groups, agents, connections, workflow IDs, endpoints). They are illustrative, not real identifiers. Field labels can vary by workspace, release, and subscription, use the actual variable picker and configuration panel.
86Documented; check org
Communicate
Link Ticket with Issue
Creates a relationship between support work and engineering work. ART-13133
Use when
Keeping a customer-reported bug connected to the issue fixing it.
When NOT to use
Direction matters, the source is the ticket and the target is the issue for this operation.
Create Issue
→Link Ticket with Issue
→Add Comment
Full configuration, I/O, test outcome & mistakes
Configure, step by step
- Map the source ticket ID and target issue ID.
- Choose the relationship from the offered types.
- Run after the issue exists.
Settings explained
LinkTicketWithIssue (ART-13133). ART-13133
Inputsource ticket ID, target issue ID, relationship type.
OutputSuccessful relationship creation (not a new work record).
Expected test outcomeThe ticket and issue become linked and visible in each other relationship list.
Common mistakes- Reversing source/target.
- Linking before the issue exists.
Also search: link_ticket_with_issue
Placeholders in <ANGLE_BRACKETS> stand in for your real workspace IDs (parts, users, groups, agents, connections, workflow IDs, endpoints). They are illustrative, not real identifiers. Field labels can vary by workspace, release, and subscription, use the actual variable picker and configuration panel.
87Documented; check org
Communicate
Link Conversation with Ticket
Connects customer conversation context to a ticket. ART-13133
Use when
Associating an existing conversation with an existing or newly created ticket.
When NOT to use
Linking does not convert a conversation or merge its content into another record.
Create Ticket
→Link Conversation with Ticket
→Add Comment
Full configuration, I/O, test outcome & mistakes
Configure, step by step
- Map source conversation ID and target ticket ID.
- Choose the offered relationship type.
- Connect downstream steps that use the original object IDs.
Settings explained
LinkConversationWithTicket (ART-13133). ART-13133
Inputsource conversation ID, target ticket ID, relationship type.
OutputSuccessful relationship creation.
Expected test outcomeThe conversation and ticket become linked.
Common mistakes- Expecting a link to merge content.
Also search: link_conversation_with_ticket
Placeholders in <ANGLE_BRACKETS> stand in for your real workspace IDs (parts, users, groups, agents, connections, workflow IDs, endpoints). They are illustrative, not real identifiers. Field labels can vary by workspace, release, and subscription, use the actual variable picker and configuration panel.
88Documented; check org
Communicate
Link Issue with Issue
Creates a relationship between two engineering issues. ART-13133
Use when
Marking duplicates, blockers, or parent/child relationships between issues.
When NOT to use
Choose the correct relationship type; direction can matter for blocker/parent semantics.
Create Issue
→Link Issue with Issue (blocks)
→Add Comment
Full configuration, I/O, test outcome & mistakes
Configure, step by step
- Map source and target issue IDs.
- Choose the relationship type offered.
- Run after both issues exist.
Settings explained
LinkIssueWithIssue (ART-13133). Companion: LinkIncidentWithIssue. ART-13133
Inputsource issue ID, target issue ID, relationship type.
OutputSuccessful relationship creation.
Expected test outcomeThe two issues become linked with the chosen relationship.
Common mistakes- Wrong relationship type or direction.
Also search: link_issue_with_issue link_incident_with_issue
Placeholders in <ANGLE_BRACKETS> stand in for your real workspace IDs (parts, users, groups, agents, connections, workflow IDs, endpoints). They are illustrative, not real identifiers. Field labels can vary by workspace, release, and subscription, use the actual variable picker and configuration panel.
89Special enablement
Communicate
Talk to Agent
Availability warning: Talk to Agent may require organization-specific enablement. Check the node picker and agent deployment permissions first.
ART-33224
Configures an AI agent to participate in a ticket or conversation (one-way handoff). ART-21903
Use when
Handing a customer interaction to a configured support agent.
When NOT to use
This is not a human-approval node or an inline answer step, control does NOT return to the workflow. For a workflow that waits on an agent response, see Ask Agent.
Conversation Created
→Spam Checker
→Talk to Agent
Full configuration, I/O, test outcome & mistakes
Configure, step by step
- Choose the agent and target object.
- Set response visibility and panel.
- Choose the user types it responds to.
- Configure when human messages suspend the agent; test handover.
Settings explained
Inputs (ART-21903): agent (ID), object (conversation/ticket), visibility (internal/external), panel (CustomerChat), quick_replies[] (opt), respond_to_user_types[] (e.g. customer), suspend_on_message_from (opt), additional_context (opt). Output: none (async) (ART-26062). ART-21903
Inputagent, object, visibility, panel, respond_to_user_types[].
OutputNone, the agent runs asynchronously; control does not return.
Expected test outcomeThe configured agent begins participating in the conversation; the workflow does not receive the agent reply.
Common mistakes- Expecting an inline answer back to the workflow.
Also search: talk_to_agent
Placeholders in <ANGLE_BRACKETS> stand in for your real workspace IDs (parts, users, groups, agents, connections, workflow IDs, endpoints). They are illustrative, not real identifiers. Field labels can vary by workspace, release, and subscription, use the actual variable picker and configuration panel.
90Special enablement
Communicate
Ask Agent
Availability warning: Ask Agent is selectively enabled for customers, not present by default in every organization. Obtain DevRev confirmation before a partner rollout.
ART-33224; ENH-6609
Documented as the two-way counterpart to Talk to Agent: send a query to an agent, receive a response via a session key, and continue the workflow. ART-26062
Use when
When you need an agent answer back inside the workflow (purpose per ART-26062).
When NOT to use
Do not depend on Ask Agent in a customer workflow until DevRev confirms its enablement for that organization.
Trigger
→Ask Agent (documented two-way)
→use response downstream
Full configuration, I/O, test outcome & mistakes
Configure, step by step
- Documented behaviour only: send a query to a chosen agent and continue with its returned output using a session key.
- Exact configuration fields are NOT fully specified in any external node-reference article, no reproducible config is supplied; do not invent inputs.
Settings explained
Behaviour from ART-26062 (two-way, session key). Field-level reference not externally documented. Early Access per ART-19030. ART-26062
InputA query to an agent (exact input fields not externally specified).
OutputThe agent response, allowing the workflow to continue (documented behaviour).
Expected test outcomeEXPECTED (documented behaviour; config and availability unverified): the workflow receives the agent response and continues. Verify presence per workspace/subscription before relying on it.
Common mistakes- Assuming it is enabled by default.
- Inventing configuration fields the docs do not define.
Also search: ask_agent
Placeholders in <ANGLE_BRACKETS> stand in for your real workspace IDs (parts, users, groups, agents, connections, workflow IDs, endpoints). They are illustrative, not real identifiers. Field labels can vary by workspace, release, and subscription, use the actual variable picker and configuration panel.
91Documented; check org
CommunicateLink Incident with Issue
Creates a link between an incident and an issue. ART-21901
Use when
Connecting an approved incident to its engineering work.
When NOT to use
Do not reverse source and target or assume a link is created merely by mentioning an ID.
Availability note: The customer-facing action library documents this operation, but target-org visibility, permissions and exact panel fields still need checking.
ART-21901
Incident Updated
→If/Else: linked already?
→Link Incident with Issue
Full configuration, I/O, test outcome & mistakes
Configure, step by step
- Add the link action if offered; map the incident as source and issue as target; select a relationship supported by the panel; test against controlled records.
- Inspect the actual inputs and outputs in a test run before publishing to production.
Settings explained
Documented operation: link_incident_with_issue. Use the current node panel for exact field names. ART-21901
InputIncident source ID, link type, issue target ID
OutputEmpty response on success.
Expected test outcomeA controlled incident and issue become linked once with the selected relationship.
Common mistakes- Swapping incident and issue direction; creating duplicate relationships on retries.
Also search: link_incident_with_issue
Examples are illustrative, not exported workflows. Use the actual configuration panel, permissions, and variable picker in the destination organization.
92Documented; check org
Wait
Sleep For
Pauses the current run for a fixed relative duration. ART-43949
Use when
A follow-up after an elapsed waiting period.
When NOT to use
The trigger snapshot does not update while the run sleeps, re-fetch the record before acting.
Ticket Created
→Sleep For 24h
→Get Ticket
→If/Else: still open?
Full configuration, I/O, test outcome & mistakes
Configure, step by step
- Add Delay -> Sleep For.
- Set the duration.
- After the delay, retrieve the record again before checking state.
- Gate follow-up actions on that fresh state.
Settings explained
Blocking: paused, not cancelled (ART-157225). Relative duration (ART-43949). ART-43949
InputA duration (e.g. 24 hours).
OutputThe same run resumes after the duration.
Expected test outcomeA ticket resolved during the pause takes the "resolved" path on resume because Get Ticket re-reads current state.
Common mistakes- Acting on the stale trigger snapshot after waking.
Also search: sleep_for
Placeholders in <ANGLE_BRACKETS> stand in for your real workspace IDs (parts, users, groups, agents, connections, workflow IDs, endpoints). They are illustrative, not real identifiers. Field labels can vary by workspace, release, and subscription, use the actual variable picker and configuration panel.
93Documented; check org
Wait
Sleep Until
Pauses the run until a specific timestamp, optionally with an offset. ART-43949
Use when
A reminder before a target date or an action at an exact time.
When NOT to use
If the target time is already in the past, it resumes immediately; changing a business due date after the pause begins should not be assumed to reschedule the existing run.
Opportunity Updated
→Sleep Until (close_date minus 3 days)
→Get Opportunity
Full configuration, I/O, test outcome & mistakes
Configure, step by step
- Add Delay -> Sleep Until.
- Select a timestamp from upstream data or configure the target.
- Set an offset if needed.
- Check timezone handling and re-fetch relevant records on resume.
Settings explained
Blocking. Supports add/subtract offset; past time resumes immediately (ART-43949, ART-157225). ART-43949
InputA timestamp + optional offset.
OutputThe same run resumes at the target time (or immediately if already past).
Expected test outcomeWith a future target it resumes at that time; with a past target it resumes right away.
Common mistakes- Assuming a later due-date edit reschedules an in-flight sleep.
- Timezone mistakes.
Also search: sleep_until
Placeholders in <ANGLE_BRACKETS> stand in for your real workspace IDs (parts, users, groups, agents, connections, workflow IDs, endpoints). They are illustrative, not real identifiers. Field labels can vary by workspace, release, and subscription, use the actual variable picker and configuration panel.
94Availability-unverified
Wait
Watch Ticket For Updates
Availability warning: Public customer availability or exact setup is unverified. Confirm the node in the target organization before using this recipe.
ART-33224
A blocking node that waits for updates on a ticket (per supporting lists). ART-21254
Use when
Pausing a run until a specific ticket change occurs, where supported.
When NOT to use
No external node-reference article documents it, and watcher/exit-condition work was deferred for agent workflows (ART-49164), treat as unverified and do not supply invented config.
Trigger
→Watch Ticket For Updates (documented; availability unverified)
Full configuration, I/O, test outcome & mistakes
Configure, step by step
- Documented behaviour only: block until the watched ticket updates.
- No reproducible external configuration is supplied.
Settings explained
ART-21254 (watch_ticket_for_updates) + ART-21290 (excluded dump). No external node article. ART-21254
InputA ticket to watch + (undocumented) exit/condition settings.
OutputEXPECTED (documented behaviour, config unverified): the run blocks until the ticket updates.
Expected test outcomeEXPECTED behaviour is documented; default canvas presence and exact config are unverified.
Common mistakes- Assuming it is a standard canvas node.
- Relying on invented exit-condition fields.
Also search: watch_ticket_for_updates
Placeholders in <ANGLE_BRACKETS> stand in for your real workspace IDs (parts, users, groups, agents, connections, workflow IDs, endpoints). They are illustrative, not real identifiers. Field labels can vary by workspace, release, and subscription, use the actual variable picker and configuration panel.
95Availability-unverified
Wait
Wait for Approval
Availability warning: Public customer availability or exact setup is unverified. Confirm the node in the target organization before using this recipe.
ART-33224
A blocking node that waits for a human/external approval (per partner/bootcamp material). ART-84292
Use when
Human-in-the-loop gating, where supported.
When NOT to use
No external node-reference article confirms a standalone node by this name, the documented way to wait on human/external action is the Route & Merge timeout pattern.
Trigger
→Wait for Approval (documented; availability unverified), or use Route & Merge timeout
Full configuration, I/O, test outcome & mistakes
Configure, step by step
- Documented behaviour only: block until an approval is granted.
- No reproducible external configuration is supplied, prefer the Route & Merge timeout pattern for a documented approach.
Settings explained
Partner deck ART-84292 + bootcamp ART-77763 only. No external node article. ART-84292
InputAn approval target + (undocumented) timeout/approver settings.
OutputEXPECTED (documented behaviour, config unverified): the run blocks until approval.
Expected test outcomeEXPECTED behaviour is documented; use Route & Merge timeout as the documented wait pattern. Presence of a standalone node is unverified.
Common mistakes- Assuming a standalone node exists on every canvas.
- Inventing approver/timeout fields.
Also search: wait_for_approval
Placeholders in <ANGLE_BRACKETS> stand in for your real workspace IDs (parts, users, groups, agents, connections, workflow IDs, endpoints). They are illustrative, not real identifiers. Field labels can vary by workspace, release, and subscription, use the actual variable picker and configuration panel.
96Integration-dependent
Integrations
Slack Message (snap-in node)
Availability warning: Requires an installed extension and connection in the destination organization; not a default native node.
ART-33224
Sends a message to Slack from a workflow (provided by the Slack snap-in). ART-33224
Use when
Alerting a Slack channel when the Slack snap-in is installed and connected.
When NOT to use
Present on the canvas ONLY when the Slack snap-in is installed; it disappears from imported workflows if the snap-in is missing. Exact fields depend on the snap-in, do not assume them.
If/Else: urgent?
→Slack Message (if snap-in installed)
Full configuration, I/O, test outcome & mistakes
Configure, step by step
- Install the Slack snap-in (Settings > Snap-ins) and connect it.
- Add the Slack node (appears once installed).
- Configure channel/message as exposed by the snap-in.
- Test in a non-production channel.
Settings explained
Provided by the Slack snap-in; missing without it (ART-33224, ART-48589). Fields are snap-in-defined and not enumerable from one doc. ART-33224
InputSnap-in-defined (channel, message, etc.).
OutputSnap-in-defined send result.
Expected test outcomeWith the snap-in installed and connected, a message posts to the configured channel; without it the node is absent.
Common mistakes- Assuming it exists without the snap-in.
- Hardcoding fields the snap-in may not expose.
Also search: slack_message
Placeholders in <ANGLE_BRACKETS> stand in for your real workspace IDs (parts, users, groups, agents, connections, workflow IDs, endpoints). They are illustrative, not real identifiers. Field labels can vary by workspace, release, and subscription, use the actual variable picker and configuration panel.
97Special enablement
Integrations
Send Email (snap-in / dedicated node)
Availability warning: Send Email can require explicit organization-level enablement in addition to a configured sender connection. ISS-275713
Sends an email from a workflow (dedicated action node referenced alongside Slack). ART-33224
Use when
Emailing a customer or internal recipient when the supporting integration is present.
When NOT to use
Availability depends on the installed email integration/snap-in, not guaranteed in every workspace. Exact fields vary.
Ask AI: draft reply
→Send Email (if integration installed)
Full configuration, I/O, test outcome & mistakes
Configure, step by step
- Ensure the email integration/snap-in is installed and connected.
- Add the Send Email node.
- Configure recipients, subject, and body as exposed.
- Test to a safe internal address first.
Settings explained
Referenced as a dedicated action node (ART-23969 mentions "Send Email / Slack node"). Integration-dependent (ART-33224). Fields vary by provider. ART-33224
InputIntegration-defined (to, subject, body).
OutputIntegration-defined send result.
Expected test outcomeIf the node is enabled and sender integration configured, the test email reaches its recipient. Otherwise this exercise cannot run.
Common mistakes- Assuming default availability.
- Inventing provider-specific fields.
Also search: send_email
Placeholders in <ANGLE_BRACKETS> stand in for your real workspace IDs (parts, users, groups, agents, connections, workflow IDs, endpoints). They are illustrative, not real identifiers. Field labels can vary by workspace, release, and subscription, use the actual variable picker and configuration panel.
98Integration-dependent
Integrations
Custom 3P Node (snap-in operation)
Availability warning: Requires an installed extension and connection in the destination organization; not a default native node.
ART-33224
A reusable workflow operation defined by a snap-in (third-party node). ART-48589
Use when
Any vendor- or org-specific operation packaged as a snap-in node.
When NOT to use
Entirely dependent on the specific snap-in; fields and behaviour are defined by that snap-in and are not documentable from a single DevRev article.
Trigger
→Custom 3P Node (per its snap-in)
→downstream
Full configuration, I/O, test outcome & mistakes
Configure, step by step
- Install the relevant snap-in and connection.
- Add the 3P node it provides.
- Configure per the snap-in documentation.
- Test with controlled inputs.
Settings explained
3P Nodes / Operations via snap-ins (ART-1329/ART-21329, ART-48589). Fields are snap-in-specific. ART-48589
Expected test outcomeWith the snap-in installed, the node behaves as that snap-in documents; without it the node is absent.
Common mistakes- Expecting a universal field schema.
- Relying on it in a portable/imported workflow without the snap-in.
Also search: custom_3p_node third_party_node
Placeholders in <ANGLE_BRACKETS> stand in for your real workspace IDs (parts, users, groups, agents, connections, workflow IDs, endpoints). They are illustrative, not real identifiers. Field labels can vary by workspace, release, and subscription, use the actual variable picker and configuration panel.
No matching entries. Try a broader term, another category, or All availability.