Build a safe first workflow
One trigger, one purpose, clear stop conditions.
Purpose
When to Use This SOP
- Building a first new-lead workflow
- Creating appointment follow-up
- Creating form submission follow-up
- Connecting a form to a pipeline
- Connecting a calendar to reminders
- Rebuilding a messy automation
- Testing a workflow before publishing
- Training a team member on safe workflow structure
Before You Start
- Do not build the workflow until the process is mapped outside the CRM.
You should already know:
- What the workflow is supposed to accomplish
- What exact trigger starts it
- What filters are required
- Who should enter the workflow
- Who should not enter the workflow
- What messages will be sent
- What tags or fields are needed
- What pipeline stage should be created or updated
- What internal notification should be sent
- What stops the workflow
- Whether re-entry should be allowed
- How the workflow will be tested
- If the workflow cannot be explained outside the builder, it is not ready to be built inside the builder.
Step-by-Step Procedure
- 1Define the workflow purpose
Write one sentence that explains the workflow.
Examples:
- This workflow follows up with new consultation form submissions.
- This workflow sends appointment reminders after a booking.
- This workflow stops pre-booking nurture when a contact books.
- This workflow sends an internal notification when a proposal is signed.
- This workflow routes missed-call replies to the team.
If the workflow has more than one major purpose, split it into smaller workflows.
- 2Choose the exact trigger
The trigger decides who enters the workflow.
Use a specific trigger whenever possible.
Better examples:
- Specific form submitted
- Specific calendar booked
- Specific tag added
- Specific pipeline stage changed
- Specific document signed
Riskier examples: Contact created, Any form submitted, Any tag added, Any pipeline stage changed.
Broad triggers are not automatically wrong, but they require filters, testing, and extra caution.
- 3Add filters when needed
Filters protect the workflow from the wrong contacts.
Use filters when the trigger could apply to more than one situation.
Examples:
- Form is Consultation Request
- Calendar is Sales Consultation
- Pipeline is Sales Pipeline
- Tag is source-website
- Contact does not have internal-do-not-contact
- Opportunity is not already Won
- Email is not empty
If the workflow could fire from an import, bulk edit, or unrelated tag change, add filters or rethink the trigger.
- 4Decide who should enter and who should not enter
Document the entry rules.
Should enter:
- New leads from a specific form
- Contacts who booked a specific calendar
- Opportunities moved to a specific stage
- Contacts manually tagged for review
Should not enter:
- Existing clients
- Do-not-contact records
- Unsubscribed contacts
- Contacts already in a later pipeline stage
- Contacts imported without consent
- Contacts already in the same workflow, unless re-entry is intentional
This prevents accidental automation.
- 5Draft the actions in order
Before building, list the actions in sequence.
A simple new-lead workflow may include:
- Apply source tag
- Create or update opportunity
- Send immediate confirmation email
- Send internal notification
- Wait 1 day
- Check whether appointment was booked
- Send follow-up if not booked
- Stop if booked
- Hand off to long-term nurture if no response
Keep the action order logical. Do not add extra steps because they are available.
- 6Add tags, fields, and opportunity updates carefully
Every data change should have a reason.
Ask:
- Why is this tag being added?
- Will this tag trigger another workflow?
- Is this field needed later?
- Should an opportunity be created or updated?
- Could this create a duplicate opportunity?
- Does this stage match the pipeline rules?
Automation should support clean data, not create more cleanup.
- 7Add internal notifications
If a human should know something happened, send an internal notification or create a task.
Internal notifications may include:
- New lead arrived
- Appointment booked
- Contact replied
- Form submitted with high-value answer
- No-show needs review
- Proposal signed
- Workflow error needs review
Include enough context for the team to act.
A weak notification says: New lead.
A better notification says: New consultation request from Jane Smith, source-website, interested in CRM setup. Review contact record and follow up today.
- 8Add wait steps intentionally
Wait steps should exist for a reason.
Use wait steps for:
- Delayed follow-up
- Reminder timing
- Nurture spacing
- Waiting for a reply
- Waiting for a booking
- Giving the team time to act
Avoid wait steps that leave contacts stuck indefinitely.
Every wait step should connect to a condition, action, or exit.
- 9Add if/else branches where needed
Use branches to handle different outcomes.
Common branches:
- Booked vs not booked
- Replied vs not replied
- Showed vs no-show
- Won vs lost
- Has tag vs does not have tag
- Field value exists vs missing
- Appointment completed vs cancelled
Do not create complex branches unless the process requires them.
Simple and maintainable is better than clever and fragile.
- 10Add stop conditions
A stop condition protects the contact experience.
Examples:
- Stop pre-booking follow-up when the contact books
- Stop unanswered-lead follow-up when the contact replies
- Stop sales nurture when the opportunity moves to Won
- Stop marketing messages when the contact unsubscribes
- Stop outbound messaging when do-not-contact is applied
- Stop no-show follow-up when the appointment is rescheduled
Every workflow should answer: What is the goal? What event proves the goal has been met or is no longer relevant?
- 11Add unsubscribe, STOP, and do-not-contact safeguards
Marketing and SMS workflows must respect opt-out behavior.
Review:
- Email unsubscribe handling
- SMS STOP behavior
- Do-not-contact tags or fields
- Suppression lists
- Manual opt-out notes
- Workflow stop logic
Do not keep messaging contacts who opted out or asked not to be contacted.
Consent and communication rules vary by country, state, industry, message type, carrier, and platform. Treat this as a planning baseline, not legal advice.
- 12Name the workflow clearly
A readable workflow name should explain the trigger, audience, and purpose.
Good examples:
- sales - consultation form - confirmation + nurture
- appointments - booked - reminders
- appointments - no-show - 2h follow-up
- onboarding - client-won - kickoff sequence
- internal - proposal signed - notify team
Bad examples:
- Follow Up 2
- Test
- New Workflow
- Copy of Nurture
- Final Final
A future team member should understand the workflow without opening it.
- 13Place the workflow in the correct folder
Organize workflows by purpose.
Useful folders may include:
- Lead Capture
- Appointment Follow-Up
- Sales Pipeline
- Onboarding
- Client Communication
- Internal Notifications
- Reactivation
- Testing / Drafts
- Archived / Disabled
Keep testing and live workflows separated.
- 14Test using the real trigger
Do not only add a contact manually unless that is the real trigger.
If the workflow starts from a form, submit the form.
If it starts from a calendar booking, book the calendar.
If it starts from a tag, apply the tag exactly the way it will be applied in real use.
If it starts from a stage change, move the opportunity the same way the team or system will.
- 15Test success paths
Confirm the workflow works when the contact takes the desired action.
Check:
- Correct message sends
- Correct tag applies
- Correct field updates
- Correct opportunity is created or updated
- Correct pipeline stage is used
- Internal notification sends
- Contact exits when goal is met
- No duplicate workflow fires
- 16Test failure paths
Confirm the workflow behaves when the contact does not take the desired action.
Test:
- Contact does not book
- Contact replies
- Contact unsubscribes
- Contact no-shows
- Contact already exists
- Contact enters twice
- Message fails
- Another workflow also fires
A workflow is not ready until failure paths are tested.
- 17Review the workflow history log
Open the workflow history or execution log after testing.
Check:
- Trigger fired correctly
- Filters worked
- Actions executed in order
- No steps were skipped unexpectedly
- No errors occurred
- Contact exited correctly
- No duplicate workflow fired
Do not trust the workflow until the history proves it works.
- 18Publish only after clean testing
Before turning the workflow on for real contacts, confirm:
- Purpose is documented
- Trigger is specific
- Filters are correct
- Stop conditions work
- Test contact passed
- History log was reviewed
- Team owner is assigned
- Review date is documented
Then publish carefully.
Checks Before You Finish
- ✓Workflow has one clear purpose
- ✓Workflow has one clear trigger
- ✓Broad triggers have filters
- ✓Entry and exclusion rules are defined
- ✓Actions are in the correct order
- ✓Tags and fields apply correctly
- ✓Opportunity is created or updated correctly
- ✓Internal notifications are tested
- ✓Wait steps are intentional
- ✓If/else branches are tested
- ✓Stop conditions are included
- ✓Unsubscribe and STOP behavior are respected
- ✓Do-not-contact logic is respected where applicable
- ✓Workflow is named clearly
- ✓Workflow is in the correct folder
- ✓Real trigger was tested
- ✓Success paths were tested
- ✓Failure paths were tested
- ✓History log was reviewed
- ✓Workflow owner and review date are documented
Common Mistakes
- Building the workflow before planning the logic
- Using contact-created as a trigger for everything
- Using broad triggers without filters
- Creating one workflow that does too many jobs
- Forgetting stop conditions
- Forgetting to remove contacts after they book or reply
- Letting contacts sit in wait steps forever
- Testing by manually adding a contact instead of using the real trigger
- Ignoring the workflow history log
- Editing a live workflow without duplicating and testing
- Publishing before testing failure paths
- Using automation when a human handoff is safer