Skip to main content
A program is ongoing work. A run is one batch you launch inside it. Thread badges may say Campaign — same thing. Home → Programs is what you already have, plus Inbound and Website Widget. Home → Playbooks (or Start here) starts a new one. Monitor → Programs is who connected. Open a row for the program page.
Catalog plays instantiate in chat. Something not in the catalog becomes a request to Rivvi — the coworker does not invent a new program type.

Change a program

Monitor → Programs → the name. Click the title to rename, then Save. There’s no Pause button on this page — pause from the run itself. Voice and inbound use this rail: There is no Team or Danger item. An old Danger link opens Access.

Performance

On a voice or inbound program, Performance is the overview. On the website widget it is its own page: Resolved conversations from this widget, last 30 days. The trend line shows Up N pts this week, Down N pts this week, or compares vs. 30-day average. All runs opens the batch list. With nothing connected yet, the figures say None yet. The line depends on the program:

Access

Access says Who can see this program, which locations and providers route to them, and the actions that cannot be undone. The website widget says Who can see this channel, and the actions that cannot be undone. Assign Users adds a teammate. With none, the page says No one assigned yet and Assign teammates to route this program’s follow-ups and notifications to them. This assignment is what puts the program in someone’s Runs, Interactions, and Inbox — not their org-level Team access level. Even a Full access teammate sees nothing from a program they aren’t listed here. Org admins are the one exception: they see every program whether assigned or not. Location and provider filters show Locations and providers that route to this person. Remove from program asks Remove {name} from this program? Delete this program sits at the bottom. What it removes:
  • Voice program: the voice agent (conversation flow, every version, all agent config), every user assignment, and all runs, interactions, and analytics.
  • Website widget: the web chat channel (embed config, assistant, every version), user assignments, conversations, and analytics.
Clicking Delete program opens Delete {name}? — This permanently deletes the program and all of its data. Type the program name into the Program name field to confirm. A mismatch shows The name doesn’t match. Success shows Program deleted. Only program and organization administrators can delete a program — otherwise the page shows Only program and organization administrators can delete this program.

Compliance

Compliance on a voice or inbound program is a read of that program’s calls. It is not the org Do Not Call list or the BAA — those stay on Settings → Compliance. The widget has no Compliance rail. The first line is one of:
  • No phone interactions to review yet — Trust checks run against completed phone interactions in this range. Web chat is governed by permission tier below, not these call-level flags.
  • {check} is at {rate}% — Across {n} phone interactions, {check} fell below target. Review the flagged items below in Interactions.
  • {n} interactions need a human — Agents stayed within policy on {n} phone interactions. A handful surfaced opt-outs, sensitive situations, or distress worth a look.
  • Agents are operating within policy — Every compliance check passed across {n} phone interactions, and nothing was flagged for review.
When the checks apply, a line under that says This program handles PHI, so identity is verified before any health detail, and honors opt-outs on the do-not-call list. Two numbers: Web chat isn’t included in this scan. On the call lists the checks. A rate with no calls in range shows — and n/a. Where review sits (or Flagged for review when nothing is flagged) shows the mix. Review {n} flagged interactions in Interactions opens the call log for this program.

Follow-ups

Voice and inbound programs have Follow-ups. The widget does not. The page says What happens automatically after calls, when runs finish, and on a schedule. Filter by trigger:
  • All triggers
  • After Call Analysis
  • Task State Changed
  • Engagement Completed
  • Run Completed
  • Run Failed
  • Scheduled
  • Daily Summary
  • File Processing Complete
  • System Event
The count reads N follow-ups. With none, it says No follow-ups yet and Follow-ups run on their own after a call is analyzed, when a run finishes, or on a schedule. Add one to route tasks, alert the team, or open a workflow automatically. New follow-up is on the page and is not available to click yet. Existing follow-ups can still be turned on or off, edited, or removed. Agent is its own studio — rail Agent, then Agent or Testing inside it.

Change the agent

Open Agent on the program. The studio tabs are Agent and Testing, with a Live or Draft badge. If nothing is assigned, the card says No agent assigned and This program does not have an agent assigned yet. The card is labeled Agent. Under that, a voice program says how it runs (for example Conversation flow). The website widget says Website concierge. Opens with is the first line, with names and other slots shown as chips rather than raw braces. Can do in a call (voice) or Capabilities (widget) lists what the agent can do mid-conversation. Typical rows: Adjust on a row opens a thread for that program — that’s how you change what the agent says or does. If texting is not cleared, the card says Texts won’t send until this org is registered and Sending SMS on a US number requires an approved A2P 10DLC campaign and an approved business profile. Until then the agent’s text step silently no-ops. Set up texting goes to Calling. Below that, Captures N outcomes (or per call / per chat) lists what the agent writes down after the conversation. Version history holds the live version and drafts. Activate my build or Promote to live ships a draft. A draft that has not cleared testing can say Promote anyway. Chat may also show Activate the new version. The footer can say Verifies patient identity (using your word for the person), a transfer destination, Updated, and Created.

Test it

Same studio, Testing tab. Run simulation (then Run again). Verdicts include Clear to go live and Blocked from going live. Re-run failures, Fix all issues with AI, thumbs Sounds right / Needs work. The Website Widget Preview opens Bubble, Chat, and Form (when the form is on). Live is a real session, titled Live widget test. That is not the scenario bank. On Free, Install says Website chat is on Team.

Website widget

Monitor → Programs → Website Widget. Rail: Setup, Performance, Agent, Access. If it is not provisioned, Setup says Enable web chat and Add an embeddable AI chat widget to your website. Visitors get a concierge that answers questions and, with consent, captures contact details. No phone call, no PHI. The toast is Web chat enabled. Setup tabs are Appearance, Copy, Contact, and Install. Save (or Saving…) commits the change. Preview is on the same row as the tabs. Appearance Copy The strip says Answers come from Knowledge base and Agent and testing. Contact The panel says Choose when to ask. The wording below is already compliant. When to ask is When they type, On open, or Never. When they type, the form appears as they write. On open, it is the first thing they see. Never says Visitors chat without sharing contact details. Fields it can ask for: Name, Phone, Email, Marketing consent, Calls and texts (needs Phone — separate from marketing consent, its own yes), Health notice, Privacy policy, Terms. Require first controls whether visitors must submit the form before chatting, or can skip it and keep chatting. Form wording (collapsed by default): Title (Before we start), Submit (Start chat), Subtitle. Leave blank to use these defaults. Send leads to HubSpot is optional on the same tab. HubSpot connected. or HubSpot not connected. plus Open Connectors. Push marketing leads to HubSpot says Matched by email, so repeat visitors update the same contact. Install is the snippet, allowed sites, and the platform path. Full steps: Install the widget.

Monitor

Overview

Monitor → Overview is the org window. The time control is Last 24 hours, Last 7 days, Last 30 days (the default), Last 90 days, or All time. Any choice other than 30 days shows as a chip you can clear. If the view fails: Couldn’t load this view. and Try again. The top lanes: Trends says Volume by channel. Phone completion (finished / total) is optional detail below. Empty charts say No interactions in this range., Loading…, or No phone interactions in this range. A spike is prefixed Watch:. Phone conversion is a funnel: Attempts → Reached a person → Goal met. View as table and View chart switch between views of the same numbers. Website chat appears only when this window has conversations. Resolved = completed sessions / conversations. The figures are Conversations (widget sessions), Resolved rate ({n} of {n} completed), and Avg session (per conversation). Composition & exceptions holds four panels: If calls failed and the provider stored no reason: {n} phone calls failed, but the provider captured no reason for them.

Interactions

Monitor → Interactions is the log, scoped to the programs you’re assigned to (org admins see all). Phone and website chat both land here, including attempts that never started. A program’s All calls and a run’s All interactions open this list already filtered. A failed load says Couldn’t load this view. and Try again. Search is Search name, phone, EMR ID…. Filters groups Outcome, Channel, Direction, and Program. The tooltip says Filters, or {n} active filters. Sort is Newest (the default), Oldest, Longest, Shortest, or Name. Date range is Today, Last 7 days, Last 14 days, Last 30 days, This month, Last month, or Custom. Active filters show as chips. Clear all resets search, sort, dates, and filters. A sort chip says Remove sort. Empty, with nothing narrowing the list: Nothing to review yet and Until a run actually dials, this log stays empty. Attempts that never started still appear here once they exist. Open chat goes home. With filters and no rows: No interactions match, No interactions match these filters., and Clear filters. A row is the person, or Unknown. An anonymous website chat is Web Visitor, with a browser and place when Rivvi captured them, otherwise Web chat. The row also shows Inbound or Outbound, the program name, the outcome (or the call status when the outcome is unknown), the duration, and the time. The count is {n} interactions, or {start}–{end} of {total} when there is more than one page.

An interaction

Open a row. The sheet has three tabs. Expand sheet / Collapse sheet (or Expand panel / Exit expanded view) widens it. Close dismisses it. A call that never connected skips the player. No recording or transcript says This call didn’t connect. Open Context for dial details. A connected call with no text says No transcript and No transcript was attached to this interaction. A chat with no messages says No messages and This conversation doesn’t have any messages attached. Analysis leads with the summary, when one exists. Scores (when captured): Engagement, Quality, Empathy, Performance, Willingness. Other lines appear only when the interaction produced them — for example Notes, Identity confirmed, Reached, Transferred, Opt-out requested, Call outcome, or Session outcome. Empty states: No analysis. An incomplete call shows Nothing to analyze. The call didn’t complete. Open Context for dial details. Otherwise: Analysis isn’t ready for this interaction yet. Context can include:
  • Visitor — the page they opened, Referred from, Browser, IP address.
  • Lead — Marketing consent is Opted in or Declined, plus a CRM row when one was written.
  • Program — Open program, and Agent / Version when set.
  • Engagement — Status and Attempts.
  • Run — Open run, Status, Started.
  • Call or Session — phone shows From, To, Retry when this was a retry, and TCPA as Compliant or Not compliant. Website chat says Channel Web chat. TCPA on a chat appears only when it is Not compliant.
With none of that attached: No context and No program, engagement, or dial details are attached to this interaction.

Programs list

Monitor → Programs is one row per program for the window you pick. The time control matches Overview: Last 24 hours, Last 7 days, Last 30 days (the default), Last 90 days, or All time. Search is Search programs…. Sort is Most interactions (the default), Connected rate, or Name. A choice other than the default shows as a chip you can clear. A failed load says Couldn’t load this view. and Try again. Create program starts one. When calling is not on the plan, that button says Upgrade and the empty line is Calling and texting are on Team. Empty, with nothing in search: No programs yet. Create one from chat or start here. and Create program. A search with no rows: No programs match “{query}”. and Clear search.