Support
Support answers Conversations with Customers across email, chat and API, and links each reported bug or request to an Issue.
Support answers every Conversation with a Customer, from email, chat, the API or a shared Channel, in one queue. The Customer Lead answers from the Knowledge base with citations and escalates with a summary when unsure.
Summary
| Part | This System |
|---|---|
| Group | Support |
| Status | Live |
| Shelf | Front: offered from a Startup’s first days |
You can ask:
- “Answer my customers within an hour”
- “Hand this conversation to me”
- “What are customers asking about most?”
- “Turn this complaint into a bug”
What you get
| Part | This System |
|---|---|
| Starts | On for every Startup at creation, with nothing to install. |
| Built from | Email delivery, AI gateway, Search, Workflows |
Nouns it owns
| Noun | Definition |
|---|---|
| Conversation | A Conversation is a Thread with one or more Contacts that a Worker must answer, such as a support request. |
Verbs
Events
| Direction | Event | How |
|---|---|---|
| Emits | Conversation.created | By Conversation.create |
| Emits | Conversation.answered | By Conversation.answer |
| Emits | Conversation.assigned | By Conversation.assign |
| Emits | Conversation.escalated | By Conversation.escalate |
| Emits | Conversation.closed | By Conversation.close |
| Emits | Conversation.reopened | By Conversation.reopen |
| Consumes | Action.asked | Moves Conversation to waiting |
| Consumes | Message.created | Moves Conversation to open |
States
The lifecycle of a Conversation:
| State | Meaning | Moves to |
|---|---|---|
open (first) | A Contact wrote, and a Worker owes the answer by respondBy. | waiting on Conversation.answered; waiting on Action.asked when the Question goes to this Conversation’s Contact; resolved on Conversation.closed |
waiting | A Worker answered, and the Customer owes the reply. | open on Message.created when a Contact’s Message arrives in this Conversation; resolved on Conversation.closed |
resolved | Resolved, confirmed by the Customer or assumed after 72 hours with no reply. | open on Conversation.reopened |
Who operates it
| Part | This System |
|---|---|
| Accountable | Customer Lead |
| Team | Customer Team |
| Seat | A role agent holds it until a Human is seated. |
| Autonomy | supervised |
| Also calls its Verbs | Onboarding Specialist |
Approvals and limits
| Verb | Rule | Detail |
|---|---|---|
| Conversation.answer | Limit for the Customer Lead | 500 calls per day |
| Conversation.answer | Mandate answer for the Customer Lead | Answers Conversations and sends Messages, each through the Startup’s Guards. |
Processes that use it
| Process | How it uses it |
|---|---|
| Support | A step calls Conversation.answer |
| Call routing | A step calls Conversation.answer |
Rail underneath
None.
Views and dashboards
| View | Shows | Metrics |
|---|---|---|
| Queue | Open Conversations by priority, with the time each has waited. | First response time, Agent resolution rate |
| The Customer Lead’s view | The Metrics its accountable Role answers for. | Month-3 retention, Net revenue retention, Logo churn, Repeat purchase rate, First responses on time, Resolution time |
Access
What each Access level may call here.
| Access level | May call |
|---|---|
owner | Every Verb (10) |
admin | Every Verb (10) |
member | Every Verb (10) |
viewer | Read only (2 of 10) |
Import and export
| Connector | Mode |
|---|---|
| Slack | Import: edits made in the tool arrive as Changes. |
| Microsoft Teams | Import: edits made in the tool arrive as Changes. |
Fees and pricing
None.
Availability and limits
| Part | This System |
|---|---|
| Status | Live |
Compliance notes
Controls it carries:
Related Systems
Example
// A payroll managed service. A Customer asks in a shared Slack channel why a bonus was withheld at 22 percent.
import { $ } from 'startup-builder'
// Answered in the same thread, citing the help article, inside the first-response target.
await $.Conversation.answer({ conversation: 'conv_3Fp9', body: 'Bonuses are supplemental wages, withheld at a flat 22 percent. Source: Bonus withholding.' })
// The Customer says thanks. With no reply in 72 hours, the resolution is `assumed` instead.
await $.Conversation.close({ conversation: 'conv_3Fp9', resolution: 'confirmed' })
// Another Customer asks for a person: a Human gets it where one holds the Role above.
await $.Conversation.escalate({ conversation: 'conv_7Lm2', reason: 'askedForPerson' })