Opportunity actions let an Aesthetix CRM workflow create, change, and manage the deals in your pipelines automatically, so your sales process stays accurate without manual data entry. Use them to open a new opportunity when a lead comes in, advance a deal to the next stage, close it as Won or Lost, assign the right owner, keep your team in the loop with followers, or look up an existing opportunity so later steps can act on it. This reference covers every action in the workflow builder's Opportunity category: what each one does, every field and option, the data it makes available, when to use it, and a med-spa example.
Pipelines, stages, opportunities, and statuses. An opportunity is a potential sale or treatment plan tied to a contact (for example, a consultation that could become a booked filler package). Opportunities live in a pipeline, an ordered set of stages that represent your process (for example: New Lead, Consult Booked, Consult Completed, Plan Sent, Won). Separately, every opportunity carries a status, always one of four values: Open, Won, Lost, or Abandoned. A stage describes where the opportunity is in your process; a status describes whether it is still active or how it closed. Most actions below let you set the pipeline, stage, and status independently, so the difference matters.
The steps to add any opportunity action are the same; only the action you pick and the fields you set differ.
Go to Automation in the left sidebar, then open Workflows.
Click Create Workflow, then choose Start from Scratch (or open an existing workflow).
Add a trigger first. If your trigger is not opportunity-based (for example, a form submission or a tag added), add a Find Opportunity action early so later opportunity actions have a deal to act on.
Click the + in the builder to add an action, then search for or scroll to the action you want in the Opportunity section.
Give the action a clear Action Name so you can recognize it later. This name is internal only and is never shown to contacts.
Fill in the action's fields, then click Save Action.
Test the workflow, then use the Publish toggle to activate it.
To publish a workflow you must define both a trigger and at least one action. Without both, you can only save the workflow as an unpublished draft. Save at every step. Until you click Save Action, your changes are an unsaved draft.
The Create/Update Opportunity action creates a new opportunity or updates an existing one in the pipeline and stage you choose. It is a combined "upsert" action: in one step it either finds a matching opportunity to update or, if none exists, creates a fresh one based on its own logic.
What it does. Adds the workflow's contact to a pipeline as an opportunity, or updates that opportunity if one already exists, setting the stage, name, source, value, and status you specify.
Configuration and fields.
Action Name (required): An internal label so you can identify this step in the builder.
In Pipeline (required): The pipeline where the opportunity is created or updated.
In Pipeline Stage (required): The stage within that pipeline where the opportunity is placed.
Opportunity Name (required): The name shown on the opportunity card, usually the contact or company name. You can type a fixed value or insert a merge field such as {{contact.name}}.
Opportunity Source (required): Where the lead came from (for example, "Facebook Lead Form" or "Consult Booking Calendar"). Accepts a fixed value or a custom value like {{contact.source}}.
Lead Value (optional): The estimated value of the deal. Accepts a fixed number or a custom value such as {{contact.quoted_price}}.
Status (required): The opportunity status. Choose Open, Won, Lost, or Abandoned.
Allow Opportunity to Move to Any Previous Stage in Pipeline (optional toggle): When on, lets the action move the opportunity backward to an earlier stage. By default an opportunity can only move forward or stay where it is.
Allow Duplicate Opportunities (optional toggle): When on, lets the action create a duplicate opportunity for a contact that already has one in the pipeline. Leave off to update the existing opportunity instead of adding a second.
Inputs and data made available. Inputs are the contact in the workflow plus the fields you set. After it runs, the action exposes the opportunity it created or updated, including {{opportunity.name}}, {{opportunity.pipeline_stage}}, {{opportunity.status}}, {{opportunity.lead_value}}, {{opportunity.source}}, and {{pipeline.name}}.
When to use it. Use it when you want one simple step that guarantees a contact has an opportunity in a pipeline, without worrying whether one already exists. It is convenient for straightforward intake automations.
Med-spa example. A new lead submits your "Book a Consult" form. A Create/Update Opportunity action adds them to your Consultations pipeline at the New Lead stage, sets the name to {{contact.name}}, source to "Consult Form", status to Open, and an estimated lead value for a typical first treatment. If the contact already had an open consult opportunity, it is updated rather than duplicated.
Notes and limits.
This action does not use the opportunity that triggered the workflow, and it does not use an opportunity found by a prior Find Opportunity step. It relies only on its own match-or-create logic.
For new workflows this combined action is being phased out in favor of the separate Create Opportunity and Update Opportunity actions, which give more precise control and can act on the triggering or found opportunity. Existing workflows that already use it continue to work unchanged.
To change the owner of the opportunity, use Add Owner to Opportunity; to change followers, use the follower actions. This action does not set owner or followers.
The Create Opportunity action generates a brand-new opportunity in the pipeline and stage you choose. Unlike Create/Update Opportunity, it does not look for and update an existing deal; each time it runs it adds a new opportunity for the workflow's contact.
What it does. Opens a new opportunity for the workflow's contact in the selected pipeline and stage, with the name, source, value, and status you set. It requires a contact in the workflow: with no contact associated, no opportunity is created.
Configuration and fields.
Action Name (required): An internal label that identifies this step in the builder.
In Pipeline (required): The pipeline to create the opportunity in (for example, your Consultations or Treatment Packages pipeline).
In Pipeline Stage (optional): The starting stage for the new opportunity. If you leave it blank, the opportunity is placed in the pipeline's first stage.
Opportunity Name (optional): The name shown on the opportunity card. Accepts a fixed value or a merge field such as {{contact.first_name}}. If you leave it blank, it defaults to the contact's name; when no name is available it falls back to another identifier such as the contact's email.
Opportunity Source (optional): Where the lead came from (for example, "Website", "Referral", or "Event"). Accepts a fixed value or a custom value like {{contact.source}}. There is no default.
Opportunity Value (optional): The estimated value of the deal, as a fixed number or a custom value such as {{contact.quoted_price}}. Defaults to 0 if left blank.
Status (optional): The opportunity status, one of Open, Won, Lost, or Abandoned. Defaults to Open.
Allow Duplicate Opportunities (toggle): Controls whether a second opportunity can be created for a contact that already has one. Duplicate detection is based on the contact, not the opportunity name, so two opportunities with different names still count as duplicates for the same contact. When this toggle is off, the action will not create a second opportunity for a contact that already has one in the pipeline. To allow duplicates, turn it on; if your account does not permit multiple opportunities per contact, enable that in your opportunity settings first.
Custom fields (optional): Any custom opportunity fields on your account can also be set here, accepting fixed or custom values. Date fields support dynamic values such as "Right Now".
Inputs and data made available. Input is the workflow's contact plus the fields you set. After it runs, the newly created opportunity is available to later steps through merge fields such as {{opportunity.name}}, {{opportunity.pipeline_stage}}, {{opportunity.status}}, {{opportunity.lead_value}}, {{opportunity.source}}, and {{pipeline.name}}.
When to use it. Use it when every run should result in a distinct opportunity, for example when the same contact can have separate deals for separate treatments or repeat visits, and you do not want an existing card to be overwritten. It is the recommended choice over the combined Create/Update Opportunity action for new workflows, because it pairs cleanly with Find Opportunity and Update Opportunity for precise control.
Med-spa example. A returning patient books a new treatment series through your booking calendar. Because they may have past, closed opportunities, you use Create Opportunity (rather than the upsert action) to open a fresh deal in your Treatment Packages pipeline at the New Lead stage, named {{contact.name}} - {{appointment.title}}, with source "Booking Calendar" and status Open, so each package is tracked as its own opportunity.
Notes and limits.
The action only runs when there is a contact in the workflow. No contact means no opportunity is created.
Because it always creates (when duplicates are allowed), running it repeatedly for the same contact can produce duplicate opportunities. Leave Allow Duplicate Opportunities off, or add conditions or limits, if that is not intended.
It does not update or close any existing opportunity. To modify a deal later in the same workflow, add a Find Opportunity step and then Update Opportunity, since a freshly created opportunity is not automatically passed as context to a later Update step.
It does not set owner or followers; use the owner and follower actions for those.
The Update Opportunity action modifies an opportunity that already exists, changing details such as pipeline, stage, name, value, source, or status. It acts on the opportunity that triggered the workflow or the one located by a prior Find Opportunity step.
What it does. Applies the field changes you choose to an existing opportunity, letting you advance deals, close them, re-route them to another pipeline, or refresh their value automatically.
Configuration and fields.
Action Name (required): An internal label for this step.
Allow Opportunity to Move to Any Previous Stage (optional toggle): When on, lets the action move the opportunity to an earlier stage. By default opportunities can only move forward or stay in the same stage.
Add field: Click Add field to choose which details to update. You can add one or more of the fields below; only the fields you add are changed, and everything else stays as it is.
Pipeline: Move the opportunity into a different pipeline.
Pipeline Stage: Set the stage within the (selected or current) pipeline. Combine with the backward-movement toggle to move a deal back a stage.
Status: Set the status to Open, Won, Lost, or Abandoned.
Opportunity Source: Update where the opportunity came from. Accepts a fixed value or a custom value such as {{contact.source}} (use the tag icon to insert custom values).
Opportunity Value: Set or change the lead value. Accepts a fixed number (for example, 500) or a custom value such as {{contact.quoted_price}}.
Opportunity Name: Rename the card, optionally with merge fields for context.
Duplicate Opportunity (toggle): This toggle appears but does not create anything. Update Opportunity only ever updates an existing deal, so even with this on, no new opportunity is made. The icon next to it links to your opportunity settings, where Allow Multiple Opportunities per Contact is managed (useful for renewals and repeat purchases); that setting controls duplication for create-type actions, not for this one.
Inputs and data made available. Input is the existing opportunity (from the trigger or a Find Opportunity step) plus your chosen field values. After it runs, the updated opportunity is available downstream through {{opportunity.name}}, {{opportunity.pipeline_stage}}, {{opportunity.status}}, {{opportunity.lead_value}}, {{opportunity.source}}, and {{pipeline.name}}.
When to use it. Use it to keep your pipeline accurate as deals progress: advance a stage after a consult, mark a deal Won when payment is collected, or raise the lead value as a patient adds treatments.
Med-spa example. Your Treatment Plans pipeline workflow is triggered by Opportunity Status Changed. When a coordinator marks a plan accepted, an Update Opportunity action moves the deal to the Plan Accepted stage, sets the value to {{contact.quoted_price}}, and keeps the status Open until payment, so your pipeline reflects the real state of each patient's plan.
Notes and limits.
If no opportunity is in context, the action is skipped. Make sure the workflow is triggered by an opportunity event (such as Opportunity Status Changed) or includes a Find Opportunity step first.
Moving an opportunity backward only works when the Allow Opportunity to Move to Any Previous Stage toggle is on. By default opportunities only move forward or stay in the same stage.
A Create Opportunity action earlier in the same workflow does not automatically provide context for this step. Use Find Opportunity, or pass the correct reference, so the update targets the right record.
You cannot change the opportunity owner with this action. Use Add Owner to Opportunity (or remove and re-add) for ownership changes, or a contact action if you also need to update the contact's owner.
The Remove Opportunity action deletes the opportunity associated with the contact in the workflow from a pipeline you select.
What it does. Removes the contact's opportunity from the chosen pipeline, clearing it out of your sales process.
Configuration and fields.
Action Name (required): An internal label for this step.
Pipeline (required): The pipeline from which to remove the opportunity. The action removes the contact's opportunity in that pipeline.
Inputs and data made available. Input is the workflow's contact and the selected pipeline. This action removes a record rather than creating one, so it does not add new opportunity merge fields for later steps to use.
When to use it. Use it to keep your pipeline clean by clearing out opportunities that are no longer viable or relevant, for example when a lead unsubscribes, is disqualified, or is a known duplicate, so your team stays focused on real prospects and your reporting stays accurate.
Med-spa example. A lead replies "STOP" or marks themselves not interested. A workflow filtered to that response runs a Remove Opportunity action against your Consultations pipeline, removing the dead opportunity so it no longer clutters the board or inflates your open-deal count.
Notes and limits.
Removing an opportunity is not the same as closing it. To keep the record for reporting but mark it closed, use Update Opportunity to set the status to Lost or Abandoned instead.
The action targets the opportunity in the pipeline you select; if the contact has opportunities in several pipelines, choose the correct one.
Once removed, the opportunity and its pipeline history are gone, so use this when you genuinely want the deal cleared rather than archived.
The Add Owner to Opportunity action assigns a user as the owner of an opportunity, making one person accountable for managing and closing the deal.
What it does. Sets the owner of the opportunity in context (the triggering opportunity or one found by Find Opportunity) to the user you choose.
Configuration and fields.
Action Name (required): An internal label that identifies this step in the builder.
User (required): The user to assign as the opportunity owner, chosen from your account's users.
Only Apply to Unassigned Opportunities (optional toggle): When on, the action sets the owner only if the opportunity currently has no owner. When off, it overwrites any existing owner.
Inputs and data made available. Input is the opportunity in context plus the selected user. After it runs, the owner is reflected on the opportunity and is available through fields such as {{opportunity.assigned_user}}, which you can use to route notifications or personalize messages. If contact and opportunity owner synchronization is enabled in your opportunity settings, setting the owner here also updates the contact's owner.
When to use it. Use it for lead distribution and accountability: assign new opportunities to the right coordinator or provider so every deal has a clear owner responsible for follow-up.
Med-spa example. When a new injectables consult opportunity is created, an Add Owner to Opportunity action assigns it to your lead injector, with Only Apply to Unassigned Opportunities on so that deals already claimed by another provider are left untouched. A follow-up notification then emails {{opportunity.assigned_user}} to reach out.
Notes and limits.
This action requires an opportunity in context; pair it with an opportunity-based trigger or a Find Opportunity step. If no opportunity is in context, the action is skipped.
With Only Apply to Unassigned Opportunities off, an existing owner is replaced, which can override a manual assignment, so use it deliberately.
If a prior Find Opportunity step matched more than one opportunity, only the single one it loaded (its Earliest or Latest choice) receives the new owner.
A newly assigned user can only see the opportunity if their account permissions allow it. With an "Only Assigned Data" restriction in place, a user sees the deal once they own it.
Owning an opportunity is separate from owning the contact unless owner synchronization is enabled in your settings. To change contact ownership directly, use the contact actions.
The Remove Owner from Opportunity action clears the current owner from an opportunity, leaving it unassigned so responsibility can be reassigned appropriately.
What it does. Removes the assigned user from the opportunity in context, returning it to an unassigned state.
Configuration and fields.
Action Name (required): An internal label for this step.
The action removes the owner from the opportunity in context; there is no user to select, since it simply unassigns whoever is currently the owner.
Inputs and data made available. Input is the opportunity in context. After it runs, the opportunity has no owner, so {{opportunity.assigned_user}} is cleared. You can follow it with Add Owner to Opportunity to assign someone new.
When to use it. Use it to keep ownership records accurate when the responsible person changes, for example when a coordinator leaves a team, goes on leave, or a deal needs to be returned to a shared pool for re-routing.
Med-spa example. When an opportunity sits untouched past your follow-up window, a workflow runs Remove Owner from Opportunity to unassign the original coordinator, then Add Owner to Opportunity to reassign it to your front-desk lead and notify them to pick it up.
Notes and limits.
This action requires an opportunity in context; pair it with an opportunity-based trigger or a Find Opportunity step.
It only clears the owner; it does not change the stage, status, or value. Pair it with Update Opportunity if you also want to move the deal.
To swap owners in one motion, follow it immediately with Add Owner to Opportunity.
The Add Followers to Opportunity action adds one or more users as followers of an opportunity, so they are kept in the loop without being the accountable owner.
What it does. Attaches the users you select as followers of the opportunity in context. Followers can receive notifications and see the deal, while ownership remains separate.
Configuration and fields.
Action Name (required): An internal label for this step.
Select Followers / Users (required): One or more users to add as followers, chosen from your account's users. You can typically add several at once.
Inputs and data made available. Input is the opportunity in context plus the selected users. After it runs, those users are listed as followers on the opportunity. Followers are added to, not substituted for, the owner.
When to use it. Use it to give visibility to people who should stay informed but are not running the deal, such as a manager, a second provider, or a coordinator supporting the owner.
Med-spa example. When a high-value surgical consult opportunity is created, an Add Followers to Opportunity action adds your practice manager and the patient's assigned provider as followers, so both stay informed on progress while the patient coordinator remains the owner.
Notes and limits.
This action requires an opportunity in context; pair it with an opportunity-based trigger or a Find Opportunity step.
Followers are not owners. Adding a follower does not make that user responsible for the deal; use Add Owner to Opportunity for accountability.
Adding a user who is already a follower has no additional effect.
The Remove Followers from Opportunity action removes one or more users from an opportunity's follower list, keeping visibility lists accurate.
What it does. Detaches the users you select from the followers of the opportunity in context. It does not change the owner.
Configuration and fields.
Action Name (required): An internal label for this step.
Select Followers / Users (required): One or more current followers to remove, chosen from your account's users.
Inputs and data made available. Input is the opportunity in context plus the selected users. After it runs, those users are no longer followers; any remaining followers and the owner are unaffected.
When to use it. Use it to keep follower lists clean as a deal progresses, for example when a supporting team member's involvement ends or a deal is re-routed to a different team that should no longer be notified.
Med-spa example. When a consult opportunity is reassigned from your medical team to your aesthetics team, a workflow removes the original medical-team followers and adds the new team's followers, so notifications go only to the people now working the deal.
Notes and limits.
This action requires an opportunity in context; pair it with an opportunity-based trigger or a Find Opportunity step.
It only affects followers, never the owner. To change who is accountable, use the owner actions.
Removing a user who is not currently a follower has no effect.
The Find Opportunity action looks up an existing opportunity linked to the workflow's contact and loads it into the workflow's context, so later opportunity actions (such as Update Opportunity, owner actions, and follower actions) have a specific deal to act on. It is the opportunity equivalent of a Find Contact step, and it also lets your workflow branch on whether a matching opportunity was found.
What it does. Searches the opportunities linked to the triggering contact for one that matches the filters you set and, when found, makes that opportunity available to the steps that follow. The action splits the workflow into two paths: an Opportunity Found path and an Opportunity Not Found path.
Configuration and fields.
Action Name (required): An internal label that identifies this step in the builder.
Opportunity to be Found (required): Which opportunity to load when more than one matches your filters. Choose Earliest (the first one created) or Latest (the most recently created). The action always loads exactly one opportunity.
Filters (required): The search conditions that identify the opportunity. You can filter on any standard opportunity field (for example, Opportunity Name, Status, Pipeline, Pipeline Stage, or Followers) or any custom opportunity field. All filters use AND logic, so every condition must be met for an opportunity to match, and there is no limit on how many filters you add. For example, filter to Status is Open and Pipeline is Treatment Plans to find a contact's single open treatment-plan deal.
Inputs and data made available. Input is the workflow's contact plus your filters. When a match is found, the workflow continues down the Opportunity Found path, and the located opportunity becomes the reference for later steps through {{opportunity.name}}, {{opportunity.pipeline_stage}}, {{opportunity.status}}, {{opportunity.lead_value}}, {{opportunity.source}}, {{opportunity.assigned_user}}, and {{pipeline.name}}. When no match is found, the workflow takes the Opportunity Not Found path, where you can branch to alternate steps such as Create Opportunity.
When to use it. Use it whenever your trigger is not opportunity-based but a later step needs to act on an existing deal, for example a form submission, email reply, or tag-added workflow that then needs to update, reassign, or close the contact's current opportunity. The found/not-found split is also useful for "find or create" patterns: update the deal if one exists, otherwise create one.
Med-spa example. A patient replies to a treatment-plan email (a non-opportunity trigger). A Find Opportunity action filters to Status is Open in the Treatment Plans pipeline, with Opportunity to be Found set to Latest. On the Opportunity Found path, a following Update Opportunity action advances the deal to Plan Accepted; on the Opportunity Not Found path, a Create Opportunity action opens a new one so the reply is never lost.
Notes and limits.
The action searches opportunities linked to the contact who triggered the workflow. If there is no contact in the workflow (for example, an inbound webhook that does not include contact information), you must configure the filters to map fields to the webhook parameters instead.
Steps that depend on an opportunity in context belong on the Opportunity Found path. On the Opportunity Not Found path there is no opportunity to act on.
When several opportunities match, the action loads only one, chosen by your Earliest or Latest setting. Narrow your filters (pipeline, stage, status) so the result is the intended deal.
Place Find Opportunity early, before any action that needs the found opportunity.
What is the difference between Create/Update Opportunity and Create Opportunity?
Create/Update Opportunity is an upsert: it updates a matching opportunity if one exists, or creates one if not, using its own logic. Create Opportunity always creates a new opportunity every time it runs. For new workflows, the separate Create and Update actions are recommended.
Which action updates the opportunity that triggered my workflow?
Update Opportunity. It acts on the triggering opportunity or one found by a Find Opportunity step. The combined Create/Update Opportunity action does not use the triggering or found opportunity.
My opportunity action is being skipped. Why?
Most opportunity actions need an opportunity in context. Either start the workflow with an opportunity-based trigger or add a Find Opportunity step before the action so there is a deal to act on.
How do I change the owner of an opportunity?
Use Add Owner to Opportunity to set or replace the owner, and Remove Owner from Opportunity to clear it. The Update Opportunity action cannot change ownership.
What is the difference between an owner and a follower?
The owner is the single user accountable for the deal. Followers are additional users kept informed for visibility. Use the owner actions for accountability and the follower actions for visibility.
How do I close a deal instead of deleting it?
Use Update Opportunity to set the status to Won, Lost, or Abandoned. Use Remove Opportunity only when you want the opportunity deleted from the pipeline entirely, since that erases its history.
Can I move an opportunity backward in a pipeline?
Yes, but only when the Allow Opportunity to Move to Any Previous Stage toggle is on. By default opportunities only move forward or stay in the same stage.
Why does Update Opportunity show a Duplicate Opportunity toggle if it never duplicates?
The toggle appears in the interface, but Update Opportunity only modifies an existing deal and never creates a new one, so the toggle has no effect there. Duplicate behavior is controlled by your opportunity settings and applies to create-type actions.