Skip to main content

Automation steps reference

Steps are what your automation does after a trigger fires. Every workflow needs at least one step, and steps run top-to-bottom in the order you add them.

How step availability works

The steps you can add depend on what the trigger puts in scope:

  • No-scope triggers (e.g. On a schedule, A webhook is received) only show steps that don't need an entity, such as Create a company, Send a webhook, Delay, and If/else.
  • Account-scoped triggers (e.g. An account is created, A product is activated, An account is added to a list) add account-focused steps such as Assign a salesperson, Activate/deactivate products, Add tags to the account, Notify a salesperson, Log activity and hotness rating, and the account-level campaign steps.
  • Company-scoped triggers (e.g. A company is created or modified, A contact is added to a list) add company-focused steps such as Assign a company owner, Log a call activity to the company, Add a note to the company, and the company-level campaign steps.
  • Contact-scoped triggers (e.g. A contact is created, A contact is created or modified) add contact-focused steps such as Assign a contact owner, Log a call activity to the contact, Add a note to the contact, and the contact-level campaign steps.

Steps marked (draft) are in development and may change or be removed before general release. The Workflow category is in early access.

Custom objects

StepOverviewSpecial CasesExample Use Cases
Create a custom objectCreates a new custom object record.
Find custom objectLooks up a custom object record and brings it into scope for downstream steps. See Find custom object.If multiple records match, the first match is used.When a webhook delivers data with an external ID, find the matching custom object so you can update its fields.

Users

StepOverviewSpecial CasesExample Use Cases
Get my team memberRetrieves a specific team member from your account for use in later steps, such as assigning a record to them or sending them a notification.Look up a team member before a "Notify" or "Assign" step that needs one in scope.
Create a user from a contactCreates a Business App user from an existing CRM contact.Available on contact-scoped triggers.When a new contact is qualified, create a user so they can access Business App.

Companies

StepOverviewSpecial CasesExample Use Cases
Assign a company owner / salespersonAssigns a team member as the owner or primary salesperson for a CRM company.Available on company-scoped triggers.When a contact is added to a high-value list, assign a senior salesperson to the associated company.

Contacts

StepOverviewSpecial CasesExample Use Cases
Assign a contact owner / salespersonAssigns a team member as the owner or primary salesperson for a CRM contact.Available on contact-scoped triggers.When a contact is created, assign a salesperson based on the contact's region.

Businesses

StepOverviewSpecial CasesExample Use Cases
Create a companyCreates a company in the CRM.Duplicates are not checked. Company name is required.Mirror a company created in a third-party CRM into Vendasta's CRM.
Create a contactCreates a contact in the CRM.When a form webhook arrives, create a contact from the payload.
Get or create the associated accountGets the account associated with a company, creating one if it doesn't exist.Available on company-scoped triggers.When a contact is added to a list, get the associated account so you can run account-scoped steps.
Get contact from companyRetrieves a contact linked to a company and brings it into scope for downstream steps.Available on company-scoped triggers. Returns an error if no associated contact exists.
Get company from contactRetrieves the company linked to a contact and brings it into scope for downstream steps.Available on contact-scoped triggers. Returns an error if no associated company exists.
Get custom object from companyRetrieves a custom object record linked to a company.Available on company-scoped triggers.
Get custom object from contactRetrieves a custom object record linked to a contact.Available on contact-scoped triggers.
Get the associated companyGets the company associated with the account in scope.Available on account-scoped triggers.When an account is updated, get the associated company so you can run company-scoped steps.
Find companySearches for an existing company record in your CRM based on specified criteria, and brings it into scope for downstream steps. Also outputs "Found" and "Multiple Found" for use in branching. See Find company.If multiple companies match, the most recently created record is used.When a webhook delivers a lead, find the matching company by name so you can create a sales task on it.
Find contactSearches for an existing contact record in your CRM based on specified criteria, and brings it into scope for downstream steps.
Set account lifecycle stageSets an account's lifecycle stage (Lead, Prospect, or Customer).Available on account-scoped triggers. A valid lifecycle stage must be selected.When an opportunity is created on an account, set its lifecycle stage to Prospect.
Update companyUpdates one or more fields on an existing company record.Available on company-scoped triggers.When a company's details change upstream, sync the updates to the CRM record.
Update contactUpdates a CRM contact. Supports appending to or clearing existing field values.Available on contact-scoped triggers.When a contact is added to a list, add a tag to them.

Campaigns and emails

Account-level

StepOverviewSpecial CasesExample Use Cases
Start a campaign for the accountStarts an email campaign for the account and all its users and contacts.Available on account-scoped triggers. A campaign can only be sent to each account once. An error occurs when a campaign is sent to an account without users.When Website Pro is activated, send the How to Use Website Pro campaign.
Pause a campaign for the accountPauses an ongoing email campaign for the account and all its users and contacts.Available on account-scoped triggers. If the campaign is already paused, nothing happens.When an opportunity is closed, stop the Prompt First Contact campaign.
Send an email to usersSends a one-off email to the users on the account.Available on account-scoped triggers.When an account's lifecycle stage changes to Customer, send a welcome email.

Company-level

StepOverviewSpecial CasesExample Use Cases
Start a campaign for the companyEnrolls all contacts associated with a company in a specified email campaign.Available on company-scoped triggers. A campaign can only be sent to each company once.When a contact is added to the Enterprise Prospects list, start a targeted campaign on the associated company.
Pause campaign for companyPauses an ongoing campaign for the company. Acts on all associated contacts (up to 50).Available on company-scoped triggers. If an associated contact isn't on the campaign, it's treated as an error and the failed contacts appear in the activity.When a company schedules a meeting with a salesperson, pause the outreach campaign.
Send a marketing email to a companySends a one-off marketing email to the company's contacts.Available on company-scoped triggers.
Copy email template to another companyCopies an email template from the source company to another company.Available on company-scoped triggers.

Contact-level

StepOverviewSpecial CasesExample Use Cases
Start a campaign for the contactEnrolls a contact in a specified email campaign.Available on contact-scoped triggers.When a contact is created, enroll them in the standard welcome campaign.
Pause campaign for contactPauses an ongoing email campaign for the contact.Available on contact-scoped triggers. If the campaign is already paused, nothing happens.When a contact schedules a meeting with a salesperson, pause the outreach campaign.
Start a Yesware campaign for the contactEnrolls a contact in a Yesware email sequence.Available on contact-scoped triggers.When a contact is qualified as a Lead, enroll them in the sales Yesware sequence.
Send a marketing email to a contactSends a one-off marketing email to the contact.Available on contact-scoped triggers.
Send a plain text email via GmailSends a plain-text email from your connected Gmail account to the contact.Available on contact-scoped triggers. Requires a connected Gmail account.
Send a plain text email via OutlookSends a plain-text email from your connected Outlook account to the contact.Available on contact-scoped triggers. Requires a connected Outlook account.

Fulfillment

StepOverviewSpecial CasesExample Use Cases
Create a fulfillment taskCreates a task in Task Manager. The fulfillment agent can be the default agent or a specific individual.Available on account-scoped triggers. If the assigned agent doesn't exist, no one is assigned.When the Design a Business Card product is activated, assign the partner's primary business-card designer.
Create a fulfillment project for the accountCreates a project in Task Manager from the selected template.Available on account-scoped triggers. If Task Manager is inactive, it will be activated. Using this step twice in one workflow results in a rejected activation.When the Website product is activated, create the Website Builder project from the Website Builder template.
Add account to Task ManagerAdds the account to Task Manager so tasks can start generating.Available on account-scoped triggers.
Pause or cancel the Task Manager accountPauses or cancels a Task Manager account. Pause: stops generating product-based tasks and projects (manually created ones can still be added). Cancel: stops any new tasks or projects from being created and closes all existing ones.Available on account-scoped triggers.

Lists

StepOverviewSpecial CasesExample Use Cases
Add the account to a listAdds the account to a list.Available on account-scoped triggers. If the account is already on the list, nothing happens.When a payment fails, add the account to the Overdue Payments list.
Remove the account from a listRemoves the account from a list.Available on account-scoped triggers. If the account isn't on the list, nothing happens.When an email campaign gets no response, remove the account from the Responsive Accounts list.
Start automation for list (draft)Starts another automation for every record on a specified list.

Notifications

StepOverviewSpecial CasesExample Use Cases
Notify an adminSends an in-app and email notification to a partner admin.Limited support for template variables in the message body.When a high-margin product is deactivated, notify partner admins so they can investigate.
Notify a salespersonSends an in-app and email notification to a salesperson.Available on account-scoped triggers. Limited support for template variables in the message body.When an opportunity is created for a French-language client, notify French-fluent salespeople.
Notify a digital agentSends an in-app and email notification to a fulfillment agent.Available on account-scoped triggers. Limited support for template variables in the message body.When a website-design product is activated, notify a fulfillment agent who can design websites.
Notify all account usersSends an in-app and email notification to every user on the account.Available on account-scoped triggers.When a service interruption is scheduled, notify all users on affected accounts.
Send an email notification (draft)Sends a flexible email notification to selected recipients with richer template variable support.Available on account-scoped triggers.
Send an in-app notification (draft)Sends a flexible in-app notification to selected recipients with richer template variable support.Available on account-scoped triggers.

Products

StepOverviewSpecial CasesExample Use Cases
Activate productsActivates a product for the account. Can be configured to prevent activating the same product multiple times within a given timeframe.Available on account-scoped triggers. Paid products are allowed — misconfiguration can result in unwanted billing.When an account is created, automatically add products to it.
Activate product trialsActivates a product trial for the account.Available on account-scoped triggers.When an account is added to the Trial Eligible list, activate a 14-day trial of Reputation AI.
Activate express productsActivates a specific express product.Available on account-scoped triggers. Only express products are allowed.When an account is added to the Wants a Website list, activate Website Express.
Deactivate productsDeactivates one or more products for the account. The product can be turned off immediately or at the end of the current billing cycle.Available on account-scoped triggers. Both paid and express products are allowed.When a trial period ends, deactivate the trial product.
Get products' custom field dataGets custom field data for the account's products and brings it into scope for downstream steps.

Sales

StepOverviewSpecial CasesExample Use Cases
Assign a sales teamAssigns a random salesperson from the selected team to the account. If the account already has a salesperson, they can optionally be replaced.Available on account-scoped triggers. If reassign is off, accounts with an existing salesperson are skipped. Fails if the team has no members.When a trial product is activated, assign a salesperson from the team responsible for that product.
Assign a salespersonAssigns a specific salesperson to the account. You can select multiple people across multiple teams, and one will be randomly chosen. If the account already has a salesperson, they can optionally be replaced.Available on account-scoped triggers. If reassign is off, accounts with an existing salesperson are skipped.When a highly technical product is activated, assign a senior salesperson.
Unassign salespeopleRemoves the currently assigned salesperson (or salespeople) from the account.Available on account-scoped triggers.When an account is marked Churned, unassign salespeople so the account isn't counted in active pipelines.
Create a sales opportunityCreates a CRM opportunity on the account.Available on account-scoped triggers. Requires at least one of Company or Contact linked upstream; if both are present, the opportunity is associated with both.When a meeting is logged, create an opportunity to track follow-up.
Close all Sales OpportunitiesCloses every open sales opportunity on the account.Available on account-scoped triggers.When an account is marked Churned, close all open opportunities as Lost.
Log activity and hotness ratingLogs a business activity and raises the hotness rating (only if the new level is higher than the current one).Available on account-scoped triggers. Hotness ratings can't be decreased — this prevents accidental downgrades.When an email campaign is clicked, mark the account as a hot lead.
Create a sales activity (draft)Logs a sales activity (call, email, meeting, or note) on the account.Available on account-scoped triggers.
Create a sales task (legacy)Creates a legacy sales task.Available on account-scoped triggers. New automations should prefer the CRM sales task step.
Create a proposalCreates a sales proposal on the account.Available on account-scoped triggers.When an opportunity reaches the Proposal stage, auto-generate the proposal document.
Create a Snapshot ReportCreates a Snapshot Report for the account or company in scope.Snapshots typically start as F ratings because web scraping takes time. Add a delay step before using the Snapshot data.When a new lead is qualified, generate a Snapshot to guide the sales conversation.
Pay an invoice (draft)Records a payment against an invoice.
Void an invoice (draft)Voids an open invoice.

Tags

StepOverviewSpecial CasesExample Use Cases
Add tags to the accountAdds one or more tags to the account.Available on account-scoped triggers.When a product is activated, tag the account with the product name for reporting.
Remove tags from the accountRemoves one or more tags from the account.Available on account-scoped triggers.When a trial ends without conversion, remove the Active Trial tag.

Inbox

StepOverviewSpecial CasesExample Use Cases
Send an Inbox messageSends a message to the account's Inbox.Available on account-scoped triggers.When an account is created, drop a welcome message from the assigned salesperson into the Inbox.
Send a public system messageSends a public system message visible to everyone on the account.Available on account-scoped triggers.When an outage is resolved, post an all-clear system message.
Send an SMS message via ConversationsSends an SMS message via your Conversations inbox to a contact.Available on contact-scoped triggers.When a hot lead is flagged, text the contact a link to book a meeting.
Send an SMS message to a phone numberSends an SMS to any phone number you specify, including numbers not in your CRM.When a lead fills out a high-intent form, send an SMS to the on-call salesperson.

Sales orders

StepOverviewSpecial CasesExample Use Cases
Charge the order (draft)Charges the payment method on the order.

Advanced

StepOverviewSpecial CasesExample Use Cases
Send a request to an AI employeeSends a prompt or context to your AI employee and retrieves its response for use in later steps.An AI employee must be selected. The prompt is rendered with template variables before being sent — if it renders to empty, an error occurs.When a company is created, prompt the AI employee to research the company and create a summary note.
Send a prompt to AISends a text prompt to an AI model and returns the response for use in later steps.Generate a personalized follow-up email body based on account attributes, then send it via a later step.
Categorize with AIUses AI to categorize a block of text into one of your defined categories and branches the automation accordingly. See Categorize with AI.Categorize inbound inquiries by topic before routing them.
Format textTransforms a text value using formatting rules (e.g. uppercase, trim, replace) before passing it to another step.
Apply account templateDeploys an account template to apply AI assistants, CRM fields, automations, and more to the target account. Runs asynchronously.Available on account-scoped triggers. An account template must be selected. Supports data passing for dynamic template selection.When a partner creates an account via API for a new dental client, automatically apply the Dental Onboarding template.
Copy AI employee configuration to another companyCopies an AI employee's configuration from a source account to the target company. Creates the AI employee if it doesn't exist, or updates it if it does (preserving local customizations).Available on account-scoped triggers. See Copy Assistant Automation.Standardize AI employees across client accounts from a single template.
Modify custom account dataWrites or updates custom account data fields on the account.Available on account-scoped triggers.When a Renewal Risk field needs updating, write the new value to custom account data.
Get an opportunityGets an opportunity on the account and brings it into scope for downstream steps.Available on account-scoped triggers.
Log a call activity to the companyLogs a call record on the company's activity timeline.Available on company-scoped triggers.When an outbound call is detected via integration, log the call on the company.
Add a note to the companyAdds a note to a company record.Available on company-scoped triggers.When a company hits a milestone, log it as a note for the next touchpoint.
Create a CRM sales task for the companyCreates a CRM sales task on the company.Available on company-scoped triggers.When a contact is added to the Follow Up list, create a sales task on the associated company.
Log a call activity to the contactLogs a call record on the contact's activity timeline.Available on contact-scoped triggers.When an outbound call is detected via integration, log the call on the contact.
Add a note to the contactAdds a note to a contact record.Available on contact-scoped triggers.When a contact hits a milestone, log it as a note for the next touchpoint.
Create a CRM sales task for the contactCreates a CRM sales task on the contact.Available on contact-scoped triggers.When a contact is created, create a follow-up task on the new contact.
Send a webhookSends an HTTP POST request with custom data to an external URL.When a key event happens, notify an external system via webhook.
Trigger a webhook (draft)Triggers an existing webhook configuration with data from the workflow.Available on account-scoped triggers.

Integrations

StepOverviewSpecial CasesExample Use Cases
Add contact to Kixie powerlistAdds a contact to a Kixie powerlist for automated outreach calling.When a new lead is qualified, add them to the sales-outreach powerlist.
Remove contact from Kixie powerlistRemoves a contact from a Kixie powerlist.When a lead converts, remove them from the outreach powerlist.

Delays

StepOverviewSpecial CasesExample Use Cases
DelayPauses the automation for a set amount of time before continuing to the next step.The automation run may be cancelled if the account, contact, or company becomes ineligible for the workflow while waiting.When an account is added to Marketing Services, wait 3 days and then send a How's it going? email.
Delay until an event happensPauses the automation and waits until a specified event occurs (e.g. a task is completed, a campaign email is clicked).See Advanced automation features for configuration details.When an opportunity is created, wait until it reaches the Proposal stage before generating the proposal document.

Conditions

StepOverviewSpecial CasesExample Use Cases
If/else branchSplits the workflow into two paths based on whether a condition is met, so different steps run for different scenarios.See Advanced automation features for configuration details.If a contact is from a target industry, route to the sales team; otherwise, enroll in a nurture sequence.
Jump to a stepSkips forward or backward to a specific step in the workflow.Loop back to the start of a follow-up sequence after a delay.
Rate filterLimits how frequently the automation can proceed for a given contact, preventing the same person from moving through too often.Prevent sending more than one outreach email per week per contact.

Workflow

The Workflow category is in early access.

StepOverviewSpecial CasesExample Use Cases
A/B branchRandomly splits contacts into two groups so you can test different workflow paths.Test two onboarding sequences against each other to see which drives better activation.
End this automationImmediately stops the current automation run. No further steps run.End the workflow early for leads that don't meet qualification criteria.

Walkthrough