> ## Documentation Index
> Fetch the complete documentation index at: https://help.reevo.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Workflow Action Nodes: Complete Reference

> Action nodes are the building blocks of what your workflow actually does. Each node performs a specific operation - from updating records to routing leads, sending messages, waiting, branching, and calling external systems.

## Overview

After your trigger fires, action nodes execute in sequence to complete your business process. Action nodes can update Reevo records, branch logic, wait, notify teammates, call external systems, and pass data forward to later nodes.

This page lists released action nodes plus custom object nodes. It does not include unreleased nodes.

***

## Account Actions

Use account nodes when the workflow should create, find, update, or move account records.

<AccordionGroup>
  <Accordion title="Create Account">
    Creates a new account or updates an existing account when a matching record already exists.

    **When to use:** Create an account from an inbound lead, webhook payload, import, or another workflow step.

    **Key configuration:**

    * Map account fields using static values or variables
    * Use trigger data or previous node outputs to populate fields
    * Optionally add relationships, such as linking contacts to the account.
    * The created or updated account becomes available as a variable in later nodes
  </Accordion>

  <Accordion title="Update Account">
    Updates fields on an existing account.

    **When to use:** Assign an owner, stamp lifecycle data, clear a field, or update account information when a condition is met.

    **Key configuration:**

    * Identify the account to update
    * Choose the fields to update
    * Optionally add or remove relationships, such as linking or unlinking contacts.
    * Enter static values or variables for each field
  </Accordion>

  <Accordion title="Update Many Accounts">
    Updates multiple accounts with the same field values.

    **When to use:** Apply the same owner, status, or field value to a list of accounts returned by a search step.
  </Accordion>

  <Accordion title="Search Account and Search Many Accounts">
    Searches for account records matching filter conditions.

    **When to use:** Find an account by domain, look up a related account before updating it, or retrieve a list of accounts for a bulk action.

    **Key configuration:**

    * Use **Search Account** when later steps need one matching account
    * Use **Search Many Accounts** when later steps need a collection
    * Define filter conditions using static values or variables
  </Accordion>

  <Accordion title="Move Account Stage and Move Many Account Stages">
    Moves one account or many accounts to a target account stage.

    **When to use:** Move an account to "Customer" when an opportunity closes, or move a set of accounts into a lifecycle stage.

    **Key configuration:**

    * Provide the account ID or account IDs
    * Select the target stage
    * Use **Ignore Stage Criteria** when the move should proceed even if configured criteria would otherwise block it
  </Accordion>
</AccordionGroup>

***

## Contact Actions

Use contact nodes when the workflow should create, find, update, or move contact records.

<AccordionGroup>
  <Accordion title="Create Contact">
    Creates a new contact or updates an existing contact when a matching record already exists.

    **When to use:** Create contacts from webhook payloads, imports, or account activity.

    **Key configuration:**

    * Map contact fields using static values or variables
    * Use trigger data or previous node outputs to populate fields
    * Optionally add relationships, such as linking the contact to an account or opportunity.
    * The created or updated contact becomes available as a variable in later nodes
  </Accordion>

  <Accordion title="Update Contact">
    Updates fields on an existing contact.

    **When to use:** Assign an owner, update a lifecycle field, stamp source data, or change a contact field after a condition is met.

    **Key configuration:**

    * Identify the contact to update.
    * Choose the fields to update.
    * Optionally add or remove relationships, such as linking or unlinking accounts or opportunities.
  </Accordion>

  <Accordion title="Update Many Contacts">
    Updates multiple contacts with the same field values.

    **When to use:** Apply the same value to contacts returned by a Search Many Contacts node.
  </Accordion>

  <Accordion title="Search Contact and Search Many Contacts">
    Searches for contact records matching filter conditions.

    **When to use:** Look up a contact by email, find contacts associated with an account, or retrieve a collection of contacts for bulk updates or stage moves.

    **Key configuration:**

    * Use **Search Contact** when later steps need one matching contact
    * Use **Search Many Contacts** when later steps need a collection
    * Define filter conditions using static values or variables
  </Accordion>

  <Accordion title="Move Contact Stage and Move Many Contact Stages">
    Moves one contact or many contacts to a target contact stage.

    **When to use:** Move contacts to "Selling" after an opportunity is created, or cascade an account stage change to related contacts.

    **Key configuration:**

    * Provide the contact ID or contact IDs
    * Select the target stage
    * Use **Ignore Stage Criteria** when the move should bypass configured stage criteria
  </Accordion>
</AccordionGroup>

***

## Opportunity Actions

Use opportunity nodes when the workflow should create, find, update, or move opportunities.

<AccordionGroup>
  <Accordion title="Create Opportunity">
    Creates a new opportunity or updates an existing one when a matching record already exists.

    **When to use:** Generate an opportunity when a qualifying event occurs or when inbound data indicates a new deal should be tracked.

    **Key configuration:**

    * Map opportunity fields using static values or variables.
    * Use trigger data or previous node outputs to populate fields.
    * Optionally add relationships, such as linking contacts to the opportunity.
  </Accordion>

  <Accordion title="Update Opportunity">
    Updates fields on an existing opportunity.

    **When to use:** Stamp deal metadata, update owner or amount fields, or keep opportunity information in sync with other workflow steps.

    **Key configuration:**

    * Identify the opportunity to update.
    * Choose the fields to update.
    * Optionally add or remove relationships, such as linking or unlinking contacts.
  </Accordion>

  <Accordion title="Update Many Opportunities">
    Updates multiple opportunities with the same field values.

    **When to use:** Apply a shared update to opportunities returned by a search step.
  </Accordion>

  <Accordion title="Search Opportunity and Search Many Opportunities">
    Searches for opportunities matching filter conditions.

    **When to use:** Find the opportunity related to a contact or account, or retrieve multiple opportunities for a bulk update.
  </Accordion>

  <Accordion title="Move Opportunity Stage">
    Moves an opportunity forward, backward, or to a specific stage.

    **When to use:** Automate stage transitions based on deal outcomes or other workflow events.

    **Key configuration:**

    * Provide the opportunity ID
    * Choose whether to move to a specific stage, forward, or backward
    * Select closed reason fields when moving to a terminal Closed Won or Closed Lost stage
    * Use **Ignore Stage Criteria** to bypass configured stage exit criteria when needed
  </Accordion>
</AccordionGroup>

***

## Task Actions

Use task nodes when the workflow should create follow-up work, update an existing task, or find one before acting on it.

<AccordionGroup>
  <Accordion title="Create Task">
    Creates a task.

    **When to use:** Open follow-up work for a rep when a deal reaches a stage, a form is submitted, or a condition is met.

    **Key configuration:**

    * Enter a task title using static text or variables.
    * Set task fields such as status, due date, priority, or assignee.
    * Optionally link the task to records, such as the account, contact, or opportunity from an earlier step.
    * The created task becomes available as a variable in later nodes.
  </Accordion>

  <Accordion title="Update Task">
    Updates fields on an existing task.

    **When to use:** Close a task when the work is done elsewhere, reassign it, or push out a due date.

    **Key configuration:**

    * Identify the task to update, usually from a Search Task node or an earlier step.
    * Choose the fields to update.
    * Optionally add or remove record links.
  </Accordion>

  <Accordion title="Search Task">
    Searches for a single task matching filter conditions.

    **When to use:** Find an open task on a record before updating or closing it.

    **Key configuration:**

    * Define filter conditions using static values or variables.
    * Optionally set a sort order to control which task is returned when several match.

    The node returns the first matching task, plus a flag you can branch on when nothing matches.
  </Accordion>
</AccordionGroup>

***

## Custom Object Actions

Custom object nodes are available when custom object workflows are enabled for your workspace.

<AccordionGroup>
  <Accordion title="Create Custom Object Record">
    Creates a record for a selected custom object.

    **When to use:** Store structured data that does not fit account, contact, or opportunity records.

    **Key configuration:**

    * Select the custom object type.
    * Map custom object fields using static values or variables.
    * Optionally add custom relationships to other records.
  </Accordion>

  <Accordion title="Update Custom Object Record">
    Updates an existing custom object record.

    **When to use:** Keep custom CRM data current when related activity happens elsewhere in Reevo.

    **Key configuration:**

    * Identify the custom object record to update.
    * Choose the fields to update.
    * Optionally add or remove custom relationships to other records.
  </Accordion>

  <Accordion title="Search Custom Object Record">
    Searches for a single custom object record matching filter conditions.

    **When to use:** Find custom data before updating it, creating relationships, or using it as context in later nodes.
  </Accordion>
</AccordionGroup>

***

## Adding Relationships from Create and Update Nodes

Create and update nodes can manage relationships at the same time they create or update a record. Use this when the relationship is part of the record operation, such as creating a contact and linking it to the account from the trigger.

| Node | Relationship options |
| :- | :- |
| **Create Account / Update Account** | Link contacts to accounts and manage custom relationships. |
| **Create Contact / Update Contact** | Link contacts to accounts, link contacts to opportunities, and manage custom relationships. |
| **Create Opportunity / Update Opportunity** | Link contacts to opportunities and manage custom relationships. |
| **Create Custom Object Record / Update Custom Object Record** | Manage custom relationships for that custom object record. |
| **Create Task / Update Task** | Link the task to accounts, contacts, opportunities, and custom objects. |
| **Create Account from Form / Create Contact from Form** | Same relationship options as the standard create nodes for that object. |

Create nodes can add relationships. Update nodes can add or remove relationships, and can be used even when the only change is the relationship.

For contact-account and contact-opportunity relationships, you can set relationship details such as primary account, title, department, primary contact, or contact role when those options are available. Custom relationships are plain links and do not have those built-in details.

<Info>
  Some relationship rules are enforced automatically. For example, a contact must be linked to an opportunity's account before the contact can be added to that opportunity.
</Info>

***

## Form Actions

Form nodes appear only in workflows that start from a form submission. They are not offered in standard workflows.

<AccordionGroup>
  <Accordion title="Create Account from Form">
    Creates an account from the submitted form data, or updates the existing account when one already matches by domain.

    **When to use:** Turn an inbound form submission into an account record.

    **Key configuration:**

    * Optionally override or add field values on top of what the form submitted.
    * Optionally add relationships, such as linking contacts to the account.
    * Use **Skip if exists** when a matching account should be left untouched instead of updated.
  </Accordion>

  <Accordion title="Create Contact from Form">
    Creates a contact from the submitted form data, or updates the existing contact when one already matches by email.

    **When to use:** Turn an inbound form submission into a contact record, usually right after Create Account from Form.

    **Key configuration:**

    * Optionally select the account to link the contact to, such as the account from a preceding Create Account from Form node.
    * Optionally override or add field values on top of what the form submitted.
    * Optionally add relationships.
    * Use **Skip if exists** when a matching contact should be left untouched instead of updated.
  </Accordion>

  <Accordion title="Show Scheduler">
    Controls what the submitter sees after the form is submitted.

    **When to use:** Offer a meeting booking calendar to a qualified lead, or show a thank-you page to everyone else.

    **Key configuration:**

    * Choose whether to show a scheduler or a thank-you page.
    * When showing a scheduler, select the scheduling link the submitter books against.

    Pair this node with a Condition node when different submitters should see different outcomes.
  </Accordion>
</AccordionGroup>

***

## Sequence Actions

Use sequence nodes to coordinate outreach.

<AccordionGroup>
  <Accordion title="Sequence Enrollment">
    Enrolls a contact into a sequence.

    **When to use:** Start automated outreach when a contact reaches a certain stage or meets qualification criteria.
  </Accordion>

  <Accordion title="Sequence Unenroll">
    Removes a contact from a sequence.

    **When to use:** Stop outreach when a contact replies, books a meeting, or no longer qualifies.
  </Accordion>

  <Accordion title="Pause Sequence Enrollment">
    Pauses active sequence enrollments for one or more contacts, leaving the enrollment in place so it can be resumed later.

    **When to use:** Hold outreach while a deal is in legal review, while a contact is out of office, or while an account is in an escalation.

    **Key configuration:**

    * Select the contacts to pause, usually from an earlier search or trigger step.
    * Optionally limit the pause to specific sequences. Leave this empty to pause every active enrollment for those contacts.

    The node reports how many enrollments paused and how many failed, so later steps can branch on a partial result.
  </Accordion>

  <Accordion title="Resume Sequence Enrollment">
    Resumes paused sequence enrollments for one or more contacts.

    **When to use:** Restart outreach once the hold that paused it is cleared.

    **Key configuration:**

    * Select the contacts to resume.
    * Optionally limit the resume to specific sequences. Leave this empty to resume every paused enrollment for those contacts.
  </Accordion>
</AccordionGroup>

***

## Communication Actions

Use communication nodes to send email, Slack, or Microsoft Teams messages.

<AccordionGroup>
  <Accordion title="Send Email">
    Sends an email from a connected Reevo mailbox.

    **When to use:** Send an automated confirmation, hand-off, or internal notification by email as part of a workflow.

    **Key configuration:**

    * Choose the sending mailbox, or let the workflow use the relevant user's default mailbox.
    * Enter the recipients, and optionally CC and BCC recipients. Addresses can come from static values or variables.
    * Write the subject and body. Both support variables from the trigger and earlier nodes, and the body supports formatting.

    <Info>
      Recipients on your organization's unsubscribe list are skipped automatically. The node reports how many recipients were skipped so later steps can account for it.
    </Info>
  </Accordion>

  <Accordion title="Send Slack Channel Message">
    Sends a message to a Slack channel via your connected Slack integration.

    **When to use:** Notify a channel when a high-value deal is created, alert a team when a webhook receives a new lead, or post automated pipeline updates.

    **Key configuration:**

    * Select the target Slack channel.
    * Compose the message using static text, variables, and @mentions for Slack users.
    * Connect Slack under **Settings → Integrations**.

    **Add a clickable opportunity link:**

    Slack links use the format `<URL|label>`. In the message field, build the link from these three parts:

    1. Enter `<https://app.reevo.ai/opportunities/`.
    2. Insert the opportunity's **ID** from the variable picker.
    3. Enter `|Open opportunity>`.

    <Info>
      Available variables depend on the workflow trigger and previous steps. Select the Opportunity ID from the variable picker instead of typing its field path. The same link format works in **Send Slack DM to User**.
    </Info>
  </Accordion>

  <Accordion title="Send Slack DM to User">
    Sends a direct message to a Slack user.

    **When to use:** Notify a specific rep or manager without posting to a shared channel.
  </Accordion>

  <Accordion title="Send Teams DM to User">
    Sends a separate Microsoft Teams direct message to one or more people in your Reevo organization.

    **When to use:** Privately notify owners, managers, or approvers when a workflow reaches an important step.

    **Key configuration:**

    * Select one or more Reevo users.
    * Compose a message with text, workflow variables, and Markdown formatting.
    * Connect Microsoft Teams under **Organization settings → Integrations**.
  </Accordion>

  <Accordion title="Send Teams Channel Message">
    Posts a new Microsoft Teams message to a standard channel.

    **When to use:** Share deal, account, approval, or pipeline updates with a team.

    See [Microsoft Teams Workflow Messaging](/Automations-and-Workflows/Microsoft-Teams-Workflow-Messaging) for connection steps, node configuration, limitations, and troubleshooting.

    **Key configuration:**

    * Select a Microsoft team, then select one of its standard channels.
    * Compose a message with text, workflow variables, Markdown formatting, and user mentions.
    * Connect Microsoft Teams under **Organization settings → Integrations**.
  </Accordion>
</AccordionGroup>

***

## Logic and Flow Control Actions

These nodes control how a workflow branches, waits, and computes values.

<AccordionGroup>
  <Accordion title="Condition">
    Branches your workflow into multiple paths based on conditions.

    **When to use:** Route leads to different owners by territory, apply different sequences by industry, or send different notifications depending on deal stage.

    **Key configuration:**

    * Define one or more cases
    * Configure conditions for each case
    * Optionally configure a default path for records that do not match other cases
  </Accordion>

  <Accordion title="Merge Branches">
    Brings multiple paths from a Condition node back into one shared path.

    **When to use:** Continue with the same follow-up steps after several Condition branches without rebuilding those steps on every branch. For example, route a lead to different owners, then send one shared notification after the routing is complete.

    **Key configuration:**

    * Connect each Condition branch that should continue through the shared path
    * Define named outputs when later nodes need a value that can come from different branches
    * Map the appropriate value from each incoming branch to each named output
    * When mapping a branch, choose from variables that are guaranteed to be available on that branch
    * Use the merged outputs as variables in downstream nodes

    Each workflow run continues from the branch that ran. The Merge Branches node carries that branch's mapped values forward; it does not require every branch to run first.

    See [Merge Branches in Workflows](/Automations-and-Workflows/Merge-Branches) for setup steps, output mappings, guardrails, and examples.
  </Accordion>

  <Accordion title="Compute">
    Computes formulas so later nodes can use calculated values.

    **When to use:** Calculate dates, compare values, apply conditional labels, or transform values for later steps.

    **Key configuration:**

    * Write a formula
    * Select variables from the trigger or previous nodes
    * Use the computed output in downstream nodes
  </Accordion>

  <Accordion title="Delay">
    Pauses the workflow for a fixed amount of time, then automatically continues.

    **When to use:** Wait a set amount of time between steps - for example, hold 1 hour before sending a follow-up notification.

    **Key configuration:**

    * Enter the amount and unit of time to delay
    * Delays are enforced server-side - closing your browser or logging out has no effect on a running workflow
  </Accordion>

  <Accordion title="User Round Robin">
    Selects a user from a list, rotating assignment across the available users.

    **When to use:** Pair with an Update Account, Update Contact, or Update Opportunity node to distribute records across reps.
  </Accordion>

  <Accordion title="End Workflow">
    Stops the workflow run at that point. No steps after it run on that path.

    **When to use:** Close off a Condition branch that should do nothing, such as a record that does not qualify.

    **Key configuration:**

    * Optionally add a note explaining why the run ends there. The note shows in the run details, which makes the **Runs** tab easier to read.

    Nothing can be connected after an End Workflow node.
  </Accordion>
</AccordionGroup>

***

## Research and Enrichment Actions

Use these nodes when the workflow needs information Reevo does not already hold on the record.

<AccordionGroup>
  <Accordion title="Enrich Contact">
    Looks up missing contact details through Reevo's enrichment providers and writes what it finds back to the contact.

    **When to use:** Fill in a work email or phone number on an inbound lead before enrolling them in a sequence or routing them to a rep.

    **Key configuration:**

    * Select the contacts to enrich.
    * Choose which details to look for, such as email or phone.
    * Use **Skip if the contact already has an email** to avoid spending enrichment on contacts that are already complete.

    The node makes the values it found available to later nodes, and reports when nothing was found so you can branch on the result.
  </Accordion>

  <Accordion title="Run Research">
    Runs AI research on a contact, an account, or both, and returns structured details about the person and the company.

    **When to use:** Gather context on an inbound lead before routing, scoring, or writing an outreach message.

    **Key configuration:**

    * Provide a contact, an account, or both.
    * Use the returned person and company details in later nodes, such as title, seniority, location, industry, headquarters, or employee count.

    Research runs against external providers and can take time to complete. The workflow waits for the result before continuing.
  </Accordion>
</AccordionGroup>

***

## AI Actions

Use AI nodes when the workflow needs to interpret or reshape a value rather than just move it.

<AccordionGroup>
  <Accordion title="AI Data Transform">
    Uses AI to clean, classify, and reshape raw values from earlier steps into typed outputs that later nodes can use. Found under the **System** category in the node picker.

    **When to use:** Normalize a messy inbound value to a valid picklist option, classify free text into a CRM field, extract several structured values from a notes blob, or produce a value for a Condition node to branch on.

    **Key configuration:**

    * Point an output at a real CRM field. Reevo hands the AI that field's details and its valid options, so the answer comes back as something the field will actually accept.
    * Or give the output your own name and choose what kind of value it should be, such as text, a number, or a date.
    * Write a plain-language instruction for each output that references at least one input variable.
    * Outputs become variables for later nodes.

    This node produces values; it does not write them. Pair it with an Update or Create node to save the result.

    Picklist values are only available when the output points at a real CRM field, since that is where the valid options live.
  </Accordion>
</AccordionGroup>

***

## Integration Actions

These nodes connect workflows to external systems.

<AccordionGroup>
  <Accordion title="Webhook">
    Sends an HTTP request from your workflow to an external endpoint. This is the outbound webhook action: use it when Reevo should notify or update another system after a trigger fires.

    **When to use:** Push a qualified lead to another tool, notify an internal service when an opportunity changes, call a third-party automation endpoint, or send data from earlier workflow nodes to a custom API.

    **Key configuration:**

    * Enter the destination **URL**. Template variables from earlier nodes can be used in the URL
    * Choose the HTTP method: **GET**, **POST**, **PUT**, **PATCH**, or **DELETE**
    * Add optional request headers. Header values can use template variables
    * Add an optional JSON request body. The body must be a JSON object, and values can reference workflow variables
    * Configure timeout and redirect behavior if the endpoint needs custom handling
    * Optionally extract fields from a JSON response body using dot-notation paths so later nodes can use those response values

    The Webhook action is different from the **Webhook Received** trigger. The trigger receives a request from an external system to start a workflow; the action sends a request from Reevo to an external system during a workflow run.
  </Accordion>
</AccordionGroup>

***

## Troubleshooting / FAQs

<AccordionGroup>
  <Accordion title="Why do I see different nodes than another workspace?">
    Node availability can depend on enabled product areas, integrations, and workflow scope. This page lists released nodes and custom object nodes; unreleased nodes are intentionally excluded.
  </Accordion>

  <Accordion title="Does Reevo support outbound webhooks?">
    Yes. Add a **Webhook** action node when a workflow should send data to an external endpoint. Use the **Webhook Received** trigger only when an external system should start the workflow by sending data into Reevo.
  </Accordion>

  <Accordion title="Should I use an Update node or a Move Stage node to change a stage?">
    Always use the appropriate **Move Stage** node when changing a contact, account, or opportunity stage. Update nodes are for field updates; stage move nodes handle the stage transition logic, criteria evaluation, and change tracking.
  </Accordion>

  <Accordion title="My node errored - what happened?">
    Check the run details in the **Runs** tab. Common reasons include missing required data, an invalid value, an integration issue, or a record that does not meet configured criteria.
  </Accordion>

  <Accordion title="Can I connect multiple actions after a Condition node?">
    Yes - each branch of a Condition node can have its own chain of action nodes.
  </Accordion>

  <Accordion title="Can I use the output of one node as input to another?">
    Yes - this is how variables work in workflows. Any node that creates, retrieves, computes, or receives data can make data available to downstream nodes. When configuring a later node, switch to **variable mode** in any field to see and select values from earlier steps.
  </Accordion>
</AccordionGroup>

> Still have questions? [Sign in](https://app.reevo.ai) and use Ask Reevo for instant answers or to raise a support ticket.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.