Back to Help Home
Last updated: 2025-10-05Location: Journeys

Customer Journeys - Overview

Overview

Customer Journeys are the central orchestration system in brayv.ai that ensure the right AI agent chats with the right contact at the right time. A journey is a structured workflow that guides contacts from their first interaction through to your desired outcome (like booking an appointment, making a purchase, or completing a consultation).

Journeys automate the entire lead lifecycle - from initial contact through follow-up, qualification, goal achievement, and post-goal nurturing.

What Customer Journeys Do

Customer Journeys:

  • Automate lead flow from lead sources directly into the right workflow
  • Assign the correct AI agent at each stage of the customer relationship (or turn off AI at a particular stage, eg when goal stage is reached)
  • Trigger stage transitions automatically based on actions (appointments booked, completed, etc.)
  • Track opportunities and conversion through each stage
  • Send initial outreach messages when contacts enter stages
  • Handle duplicate leads gracefully when someone re-enters
  • Orchestrate email campaigns and automation at each stage

Why You Need Journeys

Without journeys, you'd need to manually:

  • Assign the right AI agent to each contact
  • Switch agents when the contact's situation changes
  • Track which stage each lead is in
  • Remember to follow up at the right times
  • Know which leads need what kind of engagement

Journeys do all of this automatically, ensuring no lead falls through the cracks and every contact gets the right experience.

Journey Types

When creating a journey, you choose a template that determines its structure:

Appointment-Based Journeys

Use for: Businesses that book appointments/consultations as their first goal for new leads.

Examples: Home services, professional services, healthcare, real estate showings

Structure:

  1. Starting Line - Contact added to journey
  2. Active Stages (optional) - Pre-qualification, information gathering
  3. Appointment Scheduled (Goal) - Primary goal achieved
  4. Appointment Ended (Auto-created) - Post-appointment follow-up
  5. Post-Goal Stages (optional) - Additional nurturing, upsells, reviews

Key Feature: Automatically transitions contacts between stages based on appointment events (created, completed, cancelled, no-show).

Non-Appointment Journeys

Use for: Goals that don't involve scheduling appointments.

Examples: Asking customers for feedback/reviews, service requests, lead qualification without booking, etc.

Structure:

  1. Starting Line - Contact added to journey
  2. Active Stages (optional) - Nurturing, qualification
  3. Qualified (Goal) - Primary goal achieved
  4. Post-Goal Stages (optional) - Additional nurturing

Key Feature: More flexible - transitions happen based on the AI achieving its configured goal (eg, the user has provided certain requested info), manual updates.

Journey Stages Explained

Every journey is made up of stages. Each stage represents a phase in the customer's journey and can have its own AI agent, automation, and triggers.

Stage Types

Starting Line Stage

Purpose: The entry point where contacts begin their journey.

What happens here:

  • Contact is enrolled in the journey (automatically from lead source or manually)
  • Opportunity is created with status "open"
  • AI agent assigned to this stage takes over the conversation
  • Initial outreach messages sent (if configured) (recommended)
  • Agent begins gathering information, qualifying, and working toward the goal

Configuration:

  • AI Agent: Almost always required - this is your lead engagement agent
  • Initial Outreach: Optional message sent immediately when contact enters (recommended)
  • Follow-up Sequences: Configured in the AI agent to re-engage unresponsive leads (recommended - you choose frequency and tone/content)

Typical Agent Instructions:

  • Gather service details
  • Confirm/collect address
  • Qualify the lead
  • Book an appointment (for appointment journeys)

Active Stages

Purpose: Optional intermediate stages between Starting Line and the Goal.

Use cases:

  • Typically only one, to show leads that have been responsive, but have not yet reached the goal
  • Advanced use case: you want to group certain leads that have responded a certain way, even though all leads in the journey are pushing for the same goal. Can move opportunities to these stages manually without altering the goal the agent is pushing for.

What happens here:

  • Recommended: DON'T switch agent configuration in active stages (keep same agent - starting line agent is still assigned, still working)
  • Different campaigns can be triggered
  • Used for complex workflows that need more than just "start → goal"

Note: Most journeys don't need multiple active stages. Only add them if you have a clear intermediate step.

Goal Stages

Purpose: The primary objective of the journey.

Types:

  • Appointment Created Goal (Appointment journeys)

    • Automatically triggered when appointment is booked
    • Contact moves here the moment appointment is created
    • AI agent at this stage handles pre-appointment questions
    • Be SURE to add calendar triggers (appointment created) for EACH calendar your starting line agent can book into, otherwise leads booked into those calendars will not automatically move to this stage
    • Highly Recommended: Configure an agent at this stage that understands the appointment has been booked, and does not have follow ups. If you keep the starting line agent (you dont change agent configuration at this stage) you will likely experience suboptimal conversation results. (eg, agent attempting to book again, even though an appointment has already been booked). If a new (properly configured) agent takes over at this stage you will not experience that issue. Alternatively you can configure the settings to completely turn off AI at this stage.
    • You can easily add a properly configured agent by clicking the Add Text Agent button. At this stage it will create an agent that has instructions relevant to the stage. You can adjust as necessary. (give it access to the appointment details only, instead of the appointment details AND reschedule links if you dont want contacts to be able to reschedule, etc.)
  • Qualification Goal (Qualification/Non-appointment journeys)

    • You define what constitutes success
    • Transition triggered by AI executing goal achieved tool or manual update
    • Example: "Contact provided xyz information"

What happens here:

  • Opportunity status is automatically marked as "completed"
  • Configure stage to transition to new agent without follow up, but can still answer question, or turn off AI.
  • Contact has achieved what you wanted them to achieve

Configuration:

  • Is Primary Goal: Mark this stage as the main goal
  • Calendar Trigger: (Appointment journeys only) Specify which calendar triggers this stage

Post-Goal Stages

Purpose: What happens after the primary goal is achieved.

Common uses:

  • Appointment Ended (Auto-created for appointment journeys)

    • Contact automatically moves here when appointment time passes
    • If no other post goal stages, opportunity automatically marked as "completed"
    • Opportunity can still be manually be marked "won" or "lost"
  • Custom Post-Goal Stages

    • Upsell opportunities
    • Request reviews/testimonials
    • Schedule follow-up services
    • Long-term nurturing

What happens here:

  • Journey's 'Primary Goal' has been achieved but contact can still be nurtured toward a 'secondary goal'
  • Recommended: Make AI agents here less persistent (primary goal already achieved)
  • Focus shifts to retention, reviews, and additional opportunities

Stage Configuration Options

When configuring any stage, you can set:

Basic Settings:

  • Name: Clear, descriptive name for the stage (certain stages are auto-named and cannot be changed)
  • Description: Internal notes about what this stage represents

AI Agent Assignment: Three options:

  1. Assign Specific Agent: Select or create an AI agent for this stage
  2. Remove AI Agent: Turn off AI when contact enters this stage
  3. Keep Previous Agent: Don't change the agent (maintain continuity)

Campaign Assignment:

  • Optionally enroll contact in an email campaign when they enter this stage
  • Or remove from all campaigns

Initial Outreach:

  • Send 1 message immediately when contact enters this stage (if new contact another 'compliance' message will send. eg. 'you can reply STOP to unsubscribe'. This is automatic, mandatory, and cannot be changed)
  • Useful for immediately engaging your leads.
  • Recommended for all new lead journeys.

Calendar Triggers (Appointment Journeys):

  • Automatically move contacts to this stage when calendar events occur
  • Available triggers:
    • Appointment Created - When appointment is booked (by AI, through the calendar widget, or by a team member inside brayv.ai)
    • Appointment Completed - Marked complete in calendar (by a team member)
    • Appointment Time Passed - System automatically detects appointment time has passed (this stage type is automatically added when a journey is saved with an Appointment Scheduled stage)
    • Appointment Cancelled - Appointment cancelled
    • Appointment No-Show - Contact didn't show up (triggered on a team member marking the appointment status as no-show)

How Contacts Flow Through Journeys

Enrollment (Getting Into a Journey)

Contacts enter journeys through:

1. Lead Sources (Automatic) Most common method. Configure your lead sources to automatically add contacts to journeys:

  • Forms: Web forms can have journey enrollment rules
  • Webhooks: External systems can add contacts via webhook lead sources
  • Facebook Lead Forms: Automatically add FB leads to journeys
  • Chat Widgets: Conversations are initially handled by Global default agent for your account, can add to journey when relevant.

2. Conditional Tools (Automatic) AI agents can add contacts to journeys:

  • Global agent detects interest: can add to journey (via conditional tool execution)
  • One journey agent hands off to another journey (via conditional tool execution)
  • Example: Conditional Tool Trigger Condition "the user indicates they need an HVAC repair or replacement", Action: "add to HVAC Journey"

3. Bulk Enrollment (Manual) From the Contacts page:

  • Select multiple contacts
  • Choose "Bulk Add to Journey"
  • Select the journey
  • All selected contacts enter at the Starting Line stage
  • Useful for reactivation pushes for old lead lists, specific promotions/sales
  • Highly recommended to create separate journeys for bulk lead additions so you have better data and insights onto conversion rates etc.
  • Bulk Journey enrollments are only available in accounts that have been actively texting live leads for at least 30 days and are not on a free trial.

4. Individual Enrollment (Manual) From a single contact's detail page:

  • Click "Add to Journey"
  • Select the journey
  • Contact enters at Starting Line

Stage Transitions (Moving Through Stages)

Contacts move between stages via:

1. Calendar Triggers (Automatic - Appointment Journeys)

  • Appointment booked → Moves to "Appointment Scheduled" stage
  • Appointment time passes → Moves to "Appointment Ended" stage (no calendar trigger needs to be added to this stage. This is automatically tracked because it is paired to the appointment scheduled stage preceeding it)
  • Appointment cancelled → Can move to specific stage (if configured)
  • Appointment no-show → Can move to specific stage (if configured)

2. AI Goals (Automatic) AI agents can move to goal stage for a configured, "completion" goal.

3. Manual Updates From the contact's opportunity card:

  • From the "opportunities" view on the Journeys page, drag the opportunity card to the desired stage.
  • Certain trigger based stages should not or cannot be reached with this method. I.e. if you want to move an opportunity to an appointment scheduled stage, book an appointment in the relevant calendar for that contact and the stage transition will happen automatically. Do not drag the opportunity there without booking, or the rest of the journey won't work properly (there's no connected appointment for it to pay attention to)

4. Time-Based (Advanced) For non-appointment goals, you can configure time-based transitions, though this is less common. This is a Beta feature and not yet available in all accounts.

What Happens When a Contact Transitions

When moving from Stage A to Stage B:

  1. Current stage actions complete

    • Current AI agent's follow-up sequence stops
  2. Contact moves to new stage

    • Opportunity updates to new stage
  3. New stage actions begin

    • New AI agent is assigned, or AI is turned off (depending on configuration)
    • Initial outreach messages sent (if configured, only applicable on Starting Line stages)
    • Campaign enrollment happens (if configured)
    • New AI agent's follow-up sequence begins (if enabled)
  4. Contact continues

    • Conversation continuity is maintained
    • Contact sees seamless handoff
    • New agent has full context and conversation history

Journey Opportunities

Every time a contact enters a journey, an Opportunity is created. Opportunities track the contact's progress and outcome.

Opportunity Statuses

Open

  • Contact is actively moving through the journey
  • AI agent is engaging, following up
  • Goal not yet achieved
  • This is the default status when journey starts

Completed

  • Last configured Goal in Journey was achieved (for qualification/non-appointment goals), Or Last configured Goal in Journey was achieved AND the appointment end time has passed (for appointment goals)
  • Indicates successful completion of the entire journey
  • Set automatically. Agnostic of (win/loss status that could be added later)

Won

  • Contact successfully converted (conversion/win = whatever you want it to depending on how you track success)
  • Deal closed, sale made, or positive outcome achieved
  • This is not added by the AI, this is a manual option for you to track win percentage (ie, things that happen after the AI is done interacting with the lead)
  • Marking an opportunity as won before the AI has reached its goal, will supersede the AI and end the journey and any scheduled followups.

Lost

  • Contact is no longer interested or viable
  • Mark with a lost reason (not interested, out of service area, went with competitor, etc.)
  • Journey ends, AI turns off, follow-ups stop
  • You can configure conditional tools in AI agents to mark opportunities as lost

Ended

  • Journey is over, followups will stop
  • You can configure conditional tools in AI agents to mark opportunities as ended
  • When an agent reaches the end of its followup sequence for a contact without the contact already reaching the goal or already being removed from the journey, the AI will mark the opportunity as "ended"
  • Can still later be marked as "won" or "lost"
  • Only used by AI/journey automations. You can achieve the same result by updating an opportunity to "lost" status.

Marking Opportunities

From Contact Detail Page:

  • View the Opportunities section
  • Click on the current opportunity (or past opportunity if you want to update the status)
  • Update status to Won, Lost
  • Provide lost reason if applicable

From Conversations Page:

  • View the Opportunities section (right of the chat, below the appointments)
  • Click on the current opportunity (or past opportunity if you want to update the status)
  • Update status to Won, Lost
  • Provide lost reason if applicable

Via Conditional Tools: AI can automatically end journeys:

  • "Not Interested" tool → Ends journey with status "ended"
  • Can be configured to mark as "lost" with specific reason
  • You can specify any condition for the AI to execute a tool with an End Journey action

Manual Journey Management: From Journeys page > Opportunities tab:

  • See all open opportunities
  • Drag between status columns (Kanban view)
  • Click on a particular opportunity card to update the status (won/lost)
  • opportunities that are "open", "lost", "ended", or "completed" can be marked as "won"
  • opportunities that are "open", "ended" or "completed" can be marked as "lost"
  • opportunities that are "won" cannot be marked as "lost"

Duplicate Lead Handling

What happens when a contact who's already been in a journey gets added again?

If no "open" open opportunities exist, a new opportunity will automatically be created.

If there is an open opportunity in a different journey, that opportunity will be marked as "ended" and a new opportunity will be created in the correct journey.

Options when open opportunity exists in the same journey

Notify Only

  • System notifies you that the contact is a duplicate
  • Does NOT add them to the journey again
  • Does NOT send them any messages
  • Preserves their current status

Send Continuation Message (Default)

  • Recommended
  • System recognizes returning contact
  • Sends a "continuation message" acknowledging their return (configure this in journey settings)
  • Does NOT restart the journey
  • Example: "Hi {contact.first_name}, I see you reached back out to us through {contact.friendly_source}! Is there anything else I can help with regarding {contact.hook}?"

Very useful for:

  • Multiple touchpoints (saw your ad again, forgot they reached out)
  • Leads from lead aggregators (e.g. they reached out to you through your website, and the next day submitted a form on Angi's and Angi sent you the lead)

Configure in: Journey settings when creating/editing journey

Journey Management

Creating a Journey

Step 1: Go to Journeys page

Step 2: Click "Create Journey"

Step 3: Choose a template:

  • Appointment-Based: For businesses that book consultations/appointments
  • Non-Appointment: For other goal types
  • From Scratch: Build completely custom journey

Step 4: (If appointment-based) Select which calendar triggers the goal stage

Step 5: Configure journey details:

  • Name (e.g., "New Pool Build Leads", "HVAC Service Requests")
  • Description
  • Duplicate lead handling preference

Step 6: Configure each stage:

  • Add/remove stages as needed
  • Assign AI agents
  • Be sure to configure followups and booking options for agents at the starting line stage
  • Set up calendar triggers
  • Configure initial outreach
  • Customize stage names

Step 7: Save the journey

Editing a Journey

From Journeys Page:

  • Click the Edit icon on any journey card
  • Opens the Journey Builder
  • Modify stages, agents, triggers, etc.
  • Save changes

Changes take effect:

  • Immediately for new contacts entering the journey
  • For existing contacts, changes apply when they move to the next stage
  • Active AI agents change as soon as you make changes to them.
  • Deleting an agent from a stage that still has contacts assigned to it will leave orphaned opportunities. Consider creating a different journey for your new use-case or simply updating the existing agent's configuration/instructions.

Deleting a Journey

Warning:

  • Cannot be done for journeys with existing opportunties
  • Cannot be undone

To delete:

  • Go to Journeys page
  • Click delete icon on journey card
  • Confirm deletion

Setting a Default Journey

You can mark one journey as your default journey. This journey:

  • Is suggested first when manually adding contacts to journeys
  • May be used by integrations as a default destination
  • Displays a star icon in the journey list

To set:

  • Click the star icon on any journey card
  • Only one journey can be default at a time

Journey Broadcasts

You can send a one-off message to all contacts in a given Journey who have open opportunities and have not yet reached the goal stage

  • Click the megaphone icon on any journey card
  • Enter your message (you can use variables like contact.first_name by typing the { key)
  • Click Send Broadcast
  • Your broadcast will be queued up. Messages will only send between 8AM - 6PM in your account timezone
  • Contacts who are in active conversations (sent an inbound message in the last hour) or have text AI disabled will be temporarily skipped, but will be rechecked for sending viability 2 more times
  • Contacts with any closed status (ended, lost, completed, won) will not be included at all
  • Contacts with DND SMS enabled will be skipped with no retry

this feature can come in handy when you are running a bulk promotion to old leads, and you want your fresh leads to also be made aware of it. Old leads should be added in bulk to a dedicated journey, but you can also quickly shoot off a message to open fresh leads. We would still recommend updating your agents' instructions in your new leads journey with something brief to make it aware of the generalities of the current promotion.

The Typical Journey Setup

For Most Home Services Businesses

Journey Name: "New Service Requests" (or specific service type)

Stages:

  1. Starting Line - "New Lead"

    • AI Agent: Configured with:
      • Gather service description
      • Confirm address
      • Book consultation appointment
      • Follow-up sequence (10 messages over 60 days)
      • Conditional tools for "not interested" and "bad contact info" and any notifications you may want to receive about particular things the contact mentions
  2. Appointment Scheduled (Goal)

    • Trigger: Calendar - Appointment Created
    • AI Agent: Configured with:
      • Answer pre-appointment questions
      • Provide reschedule/cancel links
      • No follow-up sequence
  3. Appointment Ended (Auto-created)

    • Trigger: Calendar - Appointment Time Passed (automatic)
    • AI Agent: Typically no configuration needed unless you have post goal stages. If no secondary goals are configured, journey will end here, no more proactive AI followups, if contact texts back in later, they will be handled by global default agent for your account. If you do configure secondary goals, add an agent here to start pursuing that goal.

Lead Sources Connected:

  • Website form → Auto-add to this journey
  • Facebook lead forms → Auto-add to this journey
  • Webhooks (leads from other form providers, automation tools like Zapier, or lead aggregators) → Auto-add to this journey
  • Chat widget → Global agent hands off to this journey when appropriate

Result: Fully automated lead engagement from first contact through post-service follow-up.

For Professional Services (Consultations, Coaching, etc.)

Journey Name: "New Client Onboarding"

Stages:

  1. Starting Line - "Initial Inquiry"

    • AI Agent gathers information about their needs
    • Follow-up sequence
    • Books consultation call
  2. Consultation Scheduled (Goal)

    • Pre-call preparation
    • Reminder messages (configured in calendar settings)
  3. Appointment Ended (Auto-created)

    • Trigger: Calendar - Appointment Time Passed (automatic)
    • AI Agent: Typically no configuration needed unless you have post goal stages. If no secondary goals are configured, journey will end here, no more proactive AI followups, if contact texts back in later, they will be handled by global default agent for your account. If you do configure secondary goals, add an agent here to start pursuing that goal.

Journey Analytics & Monitoring

Opportunities Board (Kanban View)

Location: Journeys page > Opportunities tab

What you see:

  • All opportunities organized by status (Open, Won, Lost, Ended, Completed)
  • Drag opportunities between columns to update stage (where applicable)
  • Filter by journey
  • See contact names, journey names, and time in stage

Use for:

  • Quick overview of pipeline
  • Manual status updates
  • Identifying stalled opportunities
  • Tracking conversion rates

Journey Metrics

See your general journey metrics on the main Dashboard

  • New opportunities
  • Opportunity percentage that reaches primary goal
  • Opportunities by source
  • More in depth reporting is planned

Best Practices

Keep Journeys Simple

Do:

  • Start with the basic template structure
  • Only add stages when there's a clear reason
  • Most businesses only need 2-4 stages total

Don't:

  • Create complex multi-branch journeys
  • Add stages "just in case"
  • Overthink the structure

Name Stages Clearly

Use names that describe what's happening:

  • ✅ "Appointment Scheduled", "Awaiting Proposal Response", "Post-Service Follow-up"
  • ❌ "Stage 2", "Middle", "After"

Configure AI Agents at Key Stages

Always configure:

  • Starting Line stage (your lead engagement agent)
  • Goal stage (appointment scheduled / qualified)

Consider configuring:

  • Post-goal stages if you want specific follow-up that is working towards a defined 'secondary goal'

Usually skip:

  • Active stages most often don't need their own agent (keep previous agent)

Use Initial Outreach Wisely

Good uses:

  • "Thanks for reaching out! Can I ask you a couple questions?..."
  • "Welcome! I'm Alex, I'll be helping you with your [hook] request. Got a moment to chat?"

Avoid:

  • Long messages that ask for too much or provide too much info
  • Messages that dont have a direct CTA (you should ask an easy question for the contact to respond to)

Human conversations

  • If you manually interact with your leads, and dont reach any outcome, just make sure you turn the AI back on and it will keep pushing for the goal
  • If you determine the lead is not a fit/not interested etc., update the opportunity to "lost" so the AI will stop reaching out
  • If you want to book an appointment with the lead, book it in brayv.ai so the opportunity will automatically move to the correct journey stage
  • Marking the opportunity as "won" will also end the journey, use when appropriate.

Connect Lead Sources

Manually adding contacts to journeys works, but automation is better:

  • Configure forms to auto-enroll
  • Set up webhooks from other systems
  • Configure Facebook lead forms
  • Let global agent hand off via conditional tools

This ensures no lead is missed and response time is instant.

Use Duplicate Lead Handling Thoughtfully

Choose "Notify Only" if:

  • You don't want to re-engage contacts who already went through
  • You have high-value deals and want manual control

Choose "Send Continuation Message" if:

  • For most use cases: lets the contact know that you got their request/inquiry and reminds them that they've already been in communication with you and you're ready to help.

Troubleshooting

Problem: Contact not moving to next stage

Solution:

  • Appointment journeys: Verify calendar trigger is configured correctly
  • Check that the calendar trigger is set on the appointment scheduled stage for that particular calendar
  • Verify the appointment was created in the correct calendar

Problem: AI agent not assigned when contact enters stage

Solution:

  • Open stage configuration
  • Verify AI agent is selected (not "Remove AI" or "Keep Previous")
  • Check that AI agent still exists (wasn't deleted)
  • Save the stage again

Problem: Initial outreach messages not sending

Solution:

  • Verify initial outreach is enabled on the stage
  • Ensure account A2P status is "approved"
  • Check contact's DND status

Problem: Opportunity stuck in old stage after transition

Solution:

  • Check that you are looking at the contact's "open" opportunity
  • Opportunities with any other status do not automatically change stages
  • Check the stage trigger, ie you think an opportunity should have moved to the appointment scheduled stage, but it didn't. Does the appointment scheduled stage have a trigger for the calendar the appointment was created in?
  • Contact support if issue persists

Problem: Can't delete a stage

Solution:

  • Some stages can't be deleted:
    • Starting Line stage (required)
    • Primary Goal stage (required)
    • Stages that are part of appointment pairs (scheduled/ended)
  • Convert goal stage to non-goal stage first, then delete
  • Or delete the entire journey and start over

Problem: AI follow-ups continuing after marking opportunity "won"

Solution:

  • Verify opportunity status was actually saved
  • Check that there are no other "open" opportunities for the contact and mark as 'won' or 'lost' as needed
  • Manually turn off text AI for the contact if needed
  • Check contact Activity History - contact may have filled out another form and re-entered the journey (creating a new 'open' opportunity after you marked the previous one as 'won' or 'lost')

Related Features