Skip to main content

End-to-End Reference Call Management

T
Written by Tom Aristone

A guided way for UE Advocacy to match a prospect with one of your customer advocates for a 30-minute reference call. Everything runs self-serve from request to completion, and Zoom verifies attendance automatically once the call wraps.

At a glance

  1. An AE submits a reference request — from Salesforce, from Slack, or by self-serving and picking an advocate directly.

  2. The advocate gets an email and proposes 3 or more time slots.

  3. The prospect gets an email and picks the slot that works best.

  4. A Zoom meeting is created automatically and calendar invites go to both parties.

  5. The meeting takes place.

  6. Two hours after the scheduled end, the system checks Zoom for attendance and marks the call Completed (both attended at least 5 minutes) or Missed (otherwise).

How requests come in

Reference requests can originate in two places, depending on how your team prefers to work:

  • From Salesforce, an AE submits a request from the opportunity record through the SFDC integration.

  • From Slack, an AE submits a request through the Slack app, with notifications routed to a Slack channel of your choice (configurable in settings).

How those incoming requests are routed depends on the workflow mode you've configured (covered under Reference settings):

  • AE Self-Serve — AEs can pick an advocate directly without waiting for approval.

  • Request Reference Only — AEs submit a request and the standard routing workflow takes it from there.

The self-serve flow

When AE Self-Serve is enabled, an AE can browse the advocate pool and pick a specific advocate themselves — no admin approval needed. From there, the rest of the flow matches the standard path: the chosen advocate is emailed for availability, the prospect picks a slot, and the meeting is booked. The only difference is at the front of the process — the request goes straight to Awaiting Advocate the moment the AE submits, skipping any routing or moderation wait.


How it works, stage by stage

Stage 1 — The AE submits a reference request

A reference request is created in UE Advocacy — submitted by an AE from Salesforce or from the Slack app, or initiated by the AE self-serving and picking an advocate directly. The card lands in the Requested column on the References board. Advocates and prospects haven't been notified yet.

Stage 2 — The mission goes out to the advocate

Once the request is approved (manually or by an auto-approval rule), the advocate receives an email with a magic link to submit availability. The card moves to Awaiting Advocate.

Stage 3 — The advocate submits their available times

The advocate opens a clean availability picker, selects 3 or more time slots over the next ~5 weekdays, and clicks Send my availability. The card moves to Awaiting Prospect, and the prospect receives an email titled "Pick a time to chat with [Advocate]" with each slot rendered as a button.

Stage 4 — The prospect picks a slot

The prospect clicks any time button in the email, lands on a confirmation card, and clicks Confirm meeting. They get a calendar invite immediately.

Behind the scenes, a Zoom meeting is created automatically. Both parties receive a calendar invite that includes the meeting time, the Zoom join URL, a reschedule link, and a cancel link. The card moves to Booked and the meeting link becomes visible on it.

Stage 5 (optional) — Either party reschedules or cancels

If someone clicks Reschedule in the calendar invite, a confirmation page asks them to confirm. Confirming notifies the advocate to send fresh availability; the original calendar invite stays live until a new time is locked in. If someone clicks Cancel, a confirmation page appears and clicking through removes the meeting and notifies both parties. The card moves to Awaiting Advocate on a reschedule or to Cancelled on a cancellation.

Stage 6 — The meeting happens

Both parties join via Zoom at the scheduled time. The card stays in Booked during the call.

Stage 7 — Auto-verification at +2 hours

Two hours after the scheduled start, the system checks Zoom for attendance:

  • Both participants attended at least 5 minutes → status flips to Completed.

  • One or both didn't attend, or attended less than 5 minutes → status flips to Missed.

  • If the Zoom API call fails → status flips to Error for manual review.

  • Why 2 hours? It's a buffer for meetings that run long, and Zoom's reporting endpoints have a 15–30 minute lag before final attendance data is available.

  • Why 5 minutes? It filters out drive-by joiners and brief network drops while still counting short-but-real conversations.


The Admin References Page

The References page is where admins run the program day-to-day. The header shows the two top-line counts — Pending Requests and Advocates in Pool — plus search, sort, and filter controls, and a toggle between two views:

  • Kanban view — every reference shown as a card in the column matching its current status. Cards display the brand or account, the criteria used for matching (for example, "Must be an enterprise tech company"), the requested date, and the assigned advocate or AE.

  • Table view — the same data in a sortable, filterable table for bulk triage and reporting.

Both views share the same columns/statuses described below, so you can flip between them without losing context.

Advocates in Pool

The Advocates in Pool counter shows how many customer advocates are currently eligible to be matched to incoming requests. Advocates land in the pool based on their advocacy profile and the criteria attached to a given request (industry, company size, persona, NPS, and any custom fields you've defined).

AI-assisted matching

When a request includes free-text criteria like "Must be an enterprise tech company," AI interprets that criteria against your advocate pool to surface the best matches. Quality of matches improves the more your AI System Prompt teaches the model your business definitions — for example, "When I say Happy Customer, I mean NPS 8+" or "When I say Enterprise SaaS, I mean 1,000+ employees."

The board at a glance

Column

What it means

Requested

Just submitted, awaiting approval or triage

Approvals (optional)

Awaiting CS approval — only shown if moderation is enabled

Awaiting Advocate

The advocate needs to submit times

Awaiting Prospect

The advocate has submitted times; the prospect needs to pick

Booked

Meeting confirmed

Completed

Both parties attended at least 5 minutes

Cancelled

Cancelled, missed, or errored

Stalled

Idle past the threshold and needs human attention

Stalled detection

References don't fall through the cracks. The system flags any reference that has been idle too long:

  • Awaiting Advocate (advocate hasn't submitted times) — flagged after 5 days.

  • Awaiting Prospect (prospect hasn't picked a slot) — flagged after 3 days.

Stalled cards appear in a dedicated Stalled column with a red badge, so admins can nudge the right party over Slack, email, or however they prefer.


Reference settings

Settings live under Settings → References and let you tailor the workflow to how your team works.

1. Request routing mode

Choose how AEs interact with peer call requests:

  • AE Self-Serve — AEs can directly select an advocate for peer calls without waiting for approval.

  • Request Reference Only — AEs submit reference requests that go through the standard routing workflow.

You also pick a Request Notification Method — Slack or native email — and, if you choose Slack, the channel where new request notifications are posted.

2. Moderation

Moderation is off by default. Turn it on if you want CS or program admins to approve every reference request before it's processed. With moderation enabled, an Approvals column appears on the board between Requested and Awaiting Advocate.

3. CC a team member

Optionally CC a team member on every reference communication — useful for keeping a CSM, AE manager, or program owner in the loop without making them a primary recipient.

4. AI system prompt

Configure how AI processes incoming reference requests. You can supply context that defines your business terms (for example, "When I say Happy Customer, I mean a customer who has an NPS of 8+"), and use field placeholders that get substituted with real data when AI runs. Type / anywhere to search and insert integration fields.

A few example prompts to get you started:

  • "When I say Happy Customer, I mean a customer who has an 8+ NPS."

  • "When I say Technical Decision Maker, I mean a customer who is a director or above."

  • "When I say Enterprise SaaS, I mean a customer at an organization with 1,000+ employees."

5. Default mission template

Set the defaults for any new reference mission so admins don't have to fill them in each time:

  • Default notification channel (e.g., Email).

  • Default template (e.g., Outbound Ref Req).

  • Default reward type — Points or a Direct Reward.

  • Default point value — points awarded to advocates who complete a reference mission.

Emails sent at each stage

When

Subject (approximate)

Sent to

AE submits a reference request

"You have a new reference request from {Brand}"

Advocate

Advocate submits times

"Pick a time to chat with {Advocate}" with per-slot buttons

Prospect

Prospect picks a slot

Calendar invite with Zoom + reschedule + cancel links

Both parties

Reschedule clicked

"{Brand}: Please submit new times"

Advocate (and admins)

Advocate resubmits times

"{Brand}: Fresh times available — pick one"

Prospect (and admins)

Cancel clicked

"{Brand} call cancelled"

Both parties (and admins)

Reschedule completes

"{Brand} call rescheduled" plus a new calendar invite

Both parties

FAQ

  • What if the advocate joins late? As long as they're in the meeting for 5 minutes or more total, the call counts. The 5-minute threshold is total in-call duration, not lateness.

  • What if a meeting runs over by an hour? That's fine. Auto-verification runs 2 hours after the scheduled start, so a 90-minute call that started on time still gets verified correctly.

  • What if the prospect rejects all the times? They can click None of these work — ask for new times on the picker. The advocate gets pinged to submit a fresh set, and the reference returns to the Awaiting Advocate column.

  • What if either party reschedules and the advocate goes quiet afterward? The reference will sit in Awaiting Advocate until day 5, then automatically flip to Stalled for admin attention.

  • What if the calendar invite gets forwarded? Anyone with the link can click Reschedule or Cancel. Cancellation notifies both parties so any unintended action is recoverable. A future release will add HMAC signatures so only the original recipient can act.

  • Can the prospect see the advocate's full calendar? No. The prospect only sees the times the advocate has explicitly proposed.

  • How do rewards work? In Mission settings, set the reward — points or a direct gift. The reward shows in the advocate's picker subtitle (for example, "Hop on a 30-minute call to earn 500 points") and pays out automatically when the status flips to Completed.

Salesforce sync

When the Salesforce integration is enabled, AEs can submit reference requests directly from an opportunity record, and the status of each reference syncs back to the opportunity so deal teams can see the live state — Requested, Booked, Completed — without leaving Salesforce. Closing the loop on the opportunity record makes it easy to attribute pipeline impact to your reference program.

Did this answer your question?