🏹 Archer β€” Bark Outbound Agent

Retell AI Voice Agent  Β·  Agent ID: agent_66a6eefd41b102a6573a460b12 Draft V1 Published: Service Advisor (Feb 28)
Flow Map
All Nodes
MCP & Data
Issues & Wiring
Agent Config

πŸ—ΊοΈConversation Flow

BEGIN β”‚ β–Ό GREETING ← "Hi, this is Archer from Shine On Cleans..." β”œβ”€β”€ confirms identity ───────────▢ CONSENT β”œβ”€β”€ confused who's calling ──────▢ REINTRODUCE β”œβ”€β”€ wrong person/number ───────▢ WRONG PERSON ──▢ END CALL └── busy/not good time ────────▢ [MCP - NEEDS REWIRING] ──▢ END CALL OUTRO REINTRODUCE β”œβ”€β”€ remembers enquiry ────────▢ CONSENT β”œβ”€β”€ doesn't want to continue ─▢ END CALL OUTRO └── wrong person ──────────────▢ WRONG PERSON CONSENT ← "We may record this call for quality purposes..." β”œβ”€β”€ agrees to recording ───────▢ [MCP: Get Quote] ──▢ QUOTE WALKTHROUGH β”œβ”€β”€ declines but stays ────────▢ QUOTE WALKTHROUGH └── wants to end call ─────────▢ SOFT CLOSE QUOTE WALKTHROUGH ← "Based on what you told us... your [plan] at [price]..." β”œβ”€β”€ positive, wants to book ──▢ BOOK SAPPHIRE β”œβ”€β”€ pushes back on price ─────▢ PRICE OBJECTION └── wants to think about it ──▢ SOFT CLOSE BOOK SAPPHIRE ← "Brilliant! The best next step is..." β”œβ”€β”€ gives time preference ────▢ CONFIRMATION ──▢ END CALL OUTRO └── changes mind ─────────────▢ SOFT CLOSE PRICE OBJECTION ← "I totally get it... let me tell you about one-time..." β”œβ”€β”€ warms up, wants Giles ─▢ BOOK SAPPHIRE β”œβ”€β”€ interested in one-time ───▢ CONFIRMATION └── still hesitant ──────────▢ SOFT CLOSE SOFT CLOSE ← Gentle nudge before ending β”œβ”€β”€ reconsiders ──────────────▢ BOOK SAPPHIRE └── done ─────────────────────▢ END CALL OUTRO END CALL OUTRO ← "Thanks so much for your time..." └── (skip user response) ──────▢ END CALL

πŸ“¦All Nodes (14)

β–Ά
Begin
begin-node
β†’ Greeting
πŸ’¬
Greeting
node-1772276402548
"Hi there, this is Archer from Shine On Cleans in Norwich. Is that {{customer_name}}?" Wait for their response. Be warm, upbeat, and natural.
confirms identity β†’ Consent
confused β†’ Reintroduce
wrong person β†’ Wrong Person
busy/not good time β†’ MCP ⚠️
πŸ’¬
Consent
node-1772272951997
"Great! So just to let you know, we may record this call for quality purposes. Is that alright with you?"
agrees to recording β†’ Quote Walkthrough
declines but stays β†’ Quote Walkthrough
wants to end call β†’ Soft Close
πŸ’¬
Reintroduce
node-1772275459320
"The customer seems confused about who you are or why you're calling. Stay friendly and light. Say something like: 'No worries! So you recently filled in a form on Bark...'"
remembers enquiry β†’ Consent
doesn't want to continue β†’ End Call Outro
wrong person β†’ Wrong Person
⚑
MCP: Get Quote
NEW β€” between Consent β†’ Quote Walkthrough
Calls Get:Quotes(byQuote_Number) to fetch the customer's personalised quote data before walking them through it. Returns: customer_summary, plan_recommendation, visit_recommendation, one_time_offer, skim_view.
success β†’ Quote Walkthrough
else/error β†’ Quote Walkthrough (fallback)
πŸ’¬
Quote Walkthrough
node-1772273344907
"Walk the customer through their personalised quote. Say something like: 'So based on what you told us, we've put together a [plan_name] plan at [price]...'" Uses MCP quote data to personalise.
positive, wants to book β†’ Book Giles
pushes back on price β†’ Price Objection
wants to think β†’ Soft Close
πŸ’¬
Book Giles
node-1772275280334
"The customer is interested and wants to move forward. Say something like: 'Brilliant! The best next step is our Giles Visit β€” that's where one of our cleaners comes out...'"
gives time preference β†’ Confirmation
changes mind β†’ Soft Close
πŸ’¬
Price Objection
node-1772275358457
"The customer has pushed back on price. Stay warm and never defensive. Say something like: 'I totally get it β€” let me tell you about our one-time option...'"
warms up, wants Giles β†’ Book Giles
interested in one-time β†’ Confirmation
still hesitant β†’ Soft Close
πŸ’¬
Soft Close
node-1772275806177
Gentle nudge before ending. Acknowledge their hesitation, reiterate key value, leave the door open without being pushy.
reconsiders β†’ Book Giles
done β†’ End Call Outro
πŸ’¬
Confirmation
node-1772275412898
Customer has committed β€” confirm their booking details and next steps. Reached from Book Giles ("gives time") and Price Objection ("one-time option").
confirmed β†’ End Call Outro
⚑
MCP: Get_FAQ (old)
node-1772275913048
⚠️ Currently misconfigured. Wired to Greeting "busy/not good time" transition. Should be repurposed as Global FAQ node or removed. MCP path: /Retell/LiveSupport/Web/Archer/1, Tool: Get_FAQ
transition β†’ End Call Outro
else β†’ End Call Outro
πŸ’¬
Wrong Person
node-1772275565048
"You've reached someone who isn't the person who made the enquiry. Be polite and brief. Say something like: 'No problem at all! Sorry to bother you...'"
after user responds β†’ End Call
πŸ’¬
End Call Outro
node-1772275532847
"Thanks so much for your time, {{customer_name}}. Have a really lovely day β€” bye for now!"
skip user response β†’ End Call
⏹
End Call
end-call-node-1772272137384
Terminal node. Hangs up the call.

⚑MCP Configuration & Data Shaping

MCP Endpoints

Primary MCP Path

Path/Retell/LiveSupport/Web/Archer/1
Growth Base WorkflowicEpkDh3jzts2UEN
Retell MCP ServersqVN3BoIoNqbkU96O

Available MCP Servers & Tools

quotes_access/archerGet:Quotes(byQuote_Number), Get:Quotes(byProfileId), Get:Quotes(byQuoteId), Get:Quotes(byProfileId&SessionId)
archer/knowledgeGet:FAQ, Get:KB_Index, Lookup:Knowledge, Get:Visits_SalesCards, Get:Plans_SalesCards
archer/keys(no visible tools)
Retell_Actions_MCP_v3How_To, Test_Echo, List_Agents, Execute_Retell_Call, Get_Quote_By_ID

Quote Data β€” What Archer Needs vs. Bloat

Fields to KEEP KEEP

  • customer_summary β€” name, location, home description, requested service
  • plan_recommendation β€” plan name, monthly price, visits/month, duration, tier, reasoning
  • visit_recommendation β€” visit name, duration, service nickname
  • one_time_offer β€” estimated total, visit name, duration, discount if subscribed
  • skim_view β€” compact summary with header, request_summary, ways_to_proceed, first_step_price, recommended_plan, recommended_first_step, provider_and_trust_note
  • quote_number β€” for reference
  • quote_status β€” to confirm it's active

Fields to DROP DROP

  • quote_email.body_html β€” hundreds of lines of HTML email template
  • quote_email.body_text β€” full text version of email
  • letter_view β€” 12 detailed sections (opening, sign_off, how_to_proceed, etc.)
  • quote_request β€” raw form submission data (duplicated in customer_summary)
  • quote_logic β€” internal reasoning (duplicated in plan_recommendation.reasoning)
  • All null JSON columns: recommended_plan, recommended_visit, estimated_total, customer_summary_JSON, plan_recommendation_JSON, quote_summary_JSON
  • Internal IDs: form_submission_id, converted_to_order_id, property_id, lead_id
  • Form tracking: current_form, form_substage
  • Raw property columns: postcode, bedrooms, bathrooms etc. (already in customer_summary)

πŸ’‘ Implementation Options

  • Option 1: Supabase select parameter β€” modify the MCP tool's query to only select needed columns. Cleanest approach, reduces data at source.
  • Option 2: n8n Set node β€” add a Set node after the Supabase query in the MCP workflow to strip unwanted fields before returning to Retell.
  • Option 3: Retell-side β€” use the MCP node's response handling to extract only needed fields (limited control).

πŸ”§Issues & Wiring Tasks

A) No quote data before Quote Walkthrough βœ… DONE
Archer was walking customers through their quote without fetching the actual quote data first. Fixed: MCP Get Quote node wired between Consent and Quote Walkthrough. Tested with quote #66 β€” data returned successfully. Next: trim response payload (see MCP & Data tab).
B) MCP misplaced on Greeting "busy" transition TODO
The existing MCP node (Get_FAQ) is incorrectly wired to Greeting's "busy/not good time" transition. When someone says "not a great time," it fires an FAQ lookup instead of gracefully ending. Fix: rewire Greeting "busy" β†’ End Call Outro directly. Repurpose or remove the old MCP node.
C) FAQ/Knowledge should be a Global MCP node TODO
Customers might ask questions at any point ("are you insured?", "how does it work?"). The FAQ tool should be available as a Global node so Archer can call it from any conversation node, not just one specific transition.
D) Quote Walkthrough prompt needs MCP data references TODO
Now that quote data is fetched via MCP, the Quote Walkthrough prompt should reference the MCP result variables (plan name, price, visit type, etc.) rather than using generic placeholders.
E) Trim MCP quote response payload TODO
The full quote response (~68 columns inc. full HTML email) is far too large for voice agent context. Need to strip down to: customer_summary, plan_recommendation, visit_recommendation, one_time_offer, skim_view, quote_number, quote_status. See MCP & Data tab for full keep/drop list.

βš™οΈAgent Configuration

Retell Agent

Agent IDagent_66a6eefd41b102a6573a460b12
NameArcher - Bark Outbound
Cost$0.115/min
Latency1420–1750ms
Tokens1846–2086
Draft VersionV1
Published Version"Service Advisor" β€” Feb 28, 2026 10:54 AM

Call Configuration

From Number+441603249500
DirectionOutbound
Dynamic Variables{{customer_name}}, {{quote_number}}

Related Workflows

Marshall (Lead Ops)s69QpuY0tNmLIqkg β€” deployed, inactive
RouteToVjLapcxu87jxvjpC β€” active, unpublished changes
Retell MCP ServersqVN3BoIoNqbkU96O β€” unpublished changes
Growth Base MCPsicEpkDh3jzts2UEN
Execute Retell Callmtk9O4GjGepYVTJi

Weekend Build Plan Progress

Step 1: Retell Agentβœ… Set up Archer voice agent
Step 2: n8n TriggerπŸ”§ In progress β€” wiring MCP tools + transitions
Step 3: Zapier Watcher⏳ Pending β€” Bark lead watcher
Step 4: E2E Test⏳ Pending β€” full pipeline test
Last updated: 1 March 2026 Β· Built from Retell accessibility tree + MCP test data