Prevent duplicate workflows
Audit before you build.
Purpose
When to Use This SOP
- Building a new workflow
- Auditing a messy automation setup
- Contacts are receiving duplicate messages
- Multiple workflows seem to start from the same event
- Tags are triggering unexpected sequences
- Opportunities are moving stages unexpectedly
- Imports or bulk edits triggered automations
- Team members are unsure which workflow owns a process
Before You Start
- Do not create a new workflow yet.
- First, review the existing workflow list.
You should know:
- What trigger the new workflow will use
- What form, calendar, tag, field, or stage may start it
- Whether any workflow already uses that same trigger
- Whether any workflow applies tags that trigger other workflows
- Whether contact-created triggers are active
- Whether old test workflows are still live
Step-by-Step Procedure
- 1Search the workflow list
Open the workflow list and search for related terms.
Search by:
- Form name
- Calendar name
- Tag name
- Pipeline name
- Stage name
- Campaign name
- Offer name
- Service name
- Trigger type
Look for workflows that might already handle the same process.
- 2Review active workflows first
Focus on active workflows before drafts.
For each active workflow, check:
- Trigger
- Filters
- Purpose
- Audience
- Messages sent
- Tags added or removed
- Opportunity actions
- Internal notifications
- Stop conditions
- Whether it is still needed
An old active workflow can still fire even if no one remembers building it.
- 3Identify same-trigger conflicts
Look for multiple workflows using the same trigger.
Common conflicts:
- Two workflows start when the same form is submitted
- Two workflows start when the same tag is added
- Two workflows start when an appointment is booked
- Two workflows start when a pipeline stage changes
- Two workflows start when a contact is created
Same-trigger workflows are not always wrong, but each must have a distinct purpose and safe filters.
- 4Review tag-added chain reactions
Tag-added triggers can quietly start multiple workflows.
Example:
Workflow A applies tag status-new-lead.
Workflow B starts when tag status-new-lead is added.
Workflow C also starts when tag status-new-lead is added.
The contact may now enter multiple sequences without anyone realizing it.
Review every tag the new workflow will apply and check whether those tags trigger other workflows.
- 5Review contact-created workflows
Contact-created workflows are high-risk.
They may fire when:
- A form creates a contact
- A contact is manually added
- A CSV is imported
- An integration creates a contact
- A booking creates a contact
- A payment creates a contact
If contact-created workflows exist, confirm they have strong filters or should be disabled before imports and new lead flows.
- 6Review pipeline-stage triggers
Pipeline-stage triggers can be useful, but they can also create loops.
Check whether workflows start when:
- Opportunity enters New Lead
- Opportunity enters Appointment Booked
- Opportunity enters Proposal Sent
- Opportunity enters Won
- Opportunity enters Lost / Not a Fit
Then check whether those workflows also move the opportunity again.
Avoid loops where stage movement triggers a workflow that moves the stage, which triggers another workflow.
- 7Review calendar-triggered workflows
Appointment workflows often overlap.
Look for workflows that trigger from:
- Appointment booked
- Appointment cancelled
- Appointment rescheduled
- Appointment status changed
- No-show
- Appointment completed
Confirm which workflow owns:
- Confirmation
- Reminders
- No-show follow-up
- Internal notification
- Pipeline movement
- Post-appointment follow-up
Avoid sending reminders from multiple workflows.
- 8Review old test and temporary workflows
Find workflows with names like:
- Test
- Copy
- Old
- Draft
- Temp
- Do not use
- New Workflow
- Follow Up 2
Move unused workflows into an archive or disabled folder, or disable them if they should not fire.
Do not delete workflows until dependencies and history are reviewed.
- 9Create workflow ownership rules
Every workflow should have an owner.
Document:
- Workflow name
- Purpose
- Trigger
- Owner
- Status
- Related form, calendar, tag, or pipeline
- Last reviewed date
- Whether it is live, draft, testing, disabled, or archived
A workflow with no owner becomes future clutter.
- 10Decide whether to edit, merge, disable, or build new
After review, decide what to do.
Options:
- Use an existing workflow
- Edit an existing workflow after duplicating and testing
- Merge two duplicate workflows into one clean workflow
- Disable the old workflow
- Archive the old workflow
- Build a new workflow because no safe workflow exists
Do not build a duplicate just because it is faster.
- 11Test for duplicate firing
Before publishing, test the real trigger.
Check:
- Which workflows started
- Whether the new workflow started once
- Whether any old workflow also started
- Whether duplicate messages were sent
- Whether duplicate tags were applied
- Whether duplicate opportunities were created
- Whether the contact entered more workflows than expected
Review workflow history after the test.
Checks Before You Finish
- ✓Existing workflows were searched
- ✓Active workflows were reviewed first
- ✓Same-trigger conflicts were identified
- ✓Tag-added chain reactions were reviewed
- ✓Contact-created workflows were reviewed
- ✓Pipeline-stage triggers were reviewed
- ✓Calendar-triggered workflows were reviewed
- ✓Old test workflows were disabled or archived where appropriate
- ✓Workflow owner is documented
- ✓Decision was made to edit, merge, disable, or build new
- ✓Real trigger was tested
- ✓No duplicate workflow fired unexpectedly
Common Mistakes
- Building a new workflow without searching first
- Assuming inactive-looking workflows cannot fire
- Forgetting tag-added chain reactions
- Using contact-created without filters
- Letting appointment reminders fire from multiple workflows
- Creating duplicate opportunities from multiple workflows
- Deleting workflows before checking dependencies
- Leaving old test workflows active
- Naming workflows so poorly that no one can audit them
- Testing only one workflow instead of checking what else fired