> ## Documentation Index
> Fetch the complete documentation index at: https://hellotars.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Live-chat overview and seats

> How a Live Chat gambit hands a conversation to a human agent, what the Conversations area contains, and who needs a seat to reply.

export const Browser = ({url, children}) => <div className="tars-browser">
    <div className="tars-browser-bar">
      <span className="tars-browser-dots">
        <i />
        <i />
        <i />
      </span>
      {url ? <span className="tars-browser-url">{url}</span> : null}
    </div>
    <div className="tars-browser-view">{children}</div>
  </div>;

export const urls = {
  app: "https://dashboard.hellotars.com",
  site: "https://hellotars.com",
  support: "mailto:support@hellotars.com",
  status: "https://status.hellotars.com"
};

export const img = {
  activity: {
    activityTimeline: "/docs/guides/activity/images/activity-timeline.png",
    capturedVariablesPanel: "/docs/guides/activity/images/captured-variables-panel.png",
    dataViewCards: "/docs/guides/activity/images/data-view-cards.png",
    exportDataDialog: "/docs/guides/activity/images/export-data-dialog.png",
    tasksPanelExportReady: "/docs/guides/activity/images/tasks-panel-export-ready.png"
  },
  analytics: {
    analyticsOverview: "/docs/guides/analytics/images/analytics-overview.png",
    exploreGallery: "/docs/guides/analytics/images/explore-gallery.png",
    exploreTab: "/docs/guides/analytics/images/explore-tab.png",
    goalForm: "/docs/guides/analytics/images/goal-form.png",
    goalsTab: "/docs/guides/analytics/images/goals-tab.png",
    improveDiagnostics: "/docs/guides/analytics/images/improve-diagnostics.png",
    improveTab: "/docs/guides/analytics/images/improve-tab.png",
    teamTab: "/docs/guides/analytics/images/team-tab.png"
  },
  billing: {
    billingOverview: "/docs/guides/billing/images/billing-overview.png",
    buyConversationsDialog: "/docs/guides/billing/images/buy-conversations-dialog.png",
    buySeatsDialog: "/docs/guides/billing/images/buy-seats-dialog.png",
    livechatSeatsTab: "/docs/guides/billing/images/livechat-seats-tab.png",
    organizationDeletionLifecycle: "/docs/guides/billing/images/organization-deletion-lifecycle.svg",
    organizationSwitcher: "/docs/guides/billing/images/organization-switcher.png",
    rolesAndAccessMatrix: "/docs/guides/billing/images/roles-and-access-matrix.png"
  },
  building: {
    agentBehaviorGuardrails: "/docs/guides/building/images/agent-behavior-guardrails.png",
    agentCardMenu: "/docs/guides/building/images/agent-card-menu.png",
    agentConfigure: "/docs/guides/building/images/agent-configure.png",
    agentExitRoutesDialog: "/docs/guides/building/images/agent-exit-routes-dialog.png",
    agentLibrary: "/docs/guides/building/images/agent-library.png",
    agentModelParameters: "/docs/guides/building/images/agent-model-parameters.png",
    aiAgentGambitLoop: "/docs/guides/building/images/ai-agent-gambit-loop.svg",
    builderBasics: "/docs/guides/building/images/builder-basics.png",
    builderConnectHandlePanel: "/docs/guides/building/images/builder-connect-handle-panel.png",
    builtInToolsDialog: "/docs/guides/building/images/built-in-tools-dialog.png",
    configureDebugTab: "/docs/guides/building/images/configure-debug-tab.png",
    configureLanguage: "/docs/guides/building/images/configure-language.png",
    configureNotifications: "/docs/guides/building/images/configure-notifications.png",
    createAgentDialog: "/docs/guides/building/images/create-agent-dialog.png",
    draftPublishRollbackPinning: "/docs/guides/building/images/draft-publish-rollback-pinning.svg",
    draftSwitcherChip: "/docs/guides/building/images/draft-switcher-chip.png",
    duplicateAgentDialog: "/docs/guides/building/images/duplicate-agent-dialog.png",
    flowConditions: "/docs/guides/building/images/flow-conditions.png",
    gambitPalette: "/docs/guides/building/images/gambit-palette.png",
    gambits: {
      gambitAiAgent: "/docs/guides/building/gambits/images/gambit-ai-agent.png",
      gambitApiCall: "/docs/guides/building/gambits/images/gambit-api-call.png",
      gambitAutoSuggestion: "/docs/guides/building/gambits/images/gambit-auto-suggestion.png",
      gambitButton: "/docs/guides/building/gambits/images/gambit-button.png",
      gambitCard: "/docs/guides/building/gambits/images/gambit-card.png",
      gambitChannel: "/docs/guides/building/gambits/images/gambit-channel.png",
      gambitCustomCode: "/docs/guides/building/gambits/images/gambit-custom-code.png",
      gambitDateTime: "/docs/guides/building/gambits/images/gambit-date-time.png",
      gambitGeoLocation: "/docs/guides/building/gambits/images/gambit-geo-location.png",
      gambitLanguage: "/docs/guides/building/gambits/images/gambit-language.png",
      gambitLiveChat: "/docs/guides/building/gambits/images/gambit-live-chat.png",
      gambitMediaUpload: "/docs/guides/building/gambits/images/gambit-media-upload.png",
      gambitNoInput: "/docs/guides/building/gambits/images/gambit-no-input.png",
      gambitRedirect: "/docs/guides/building/gambits/images/gambit-redirect.png",
      gambitStarRating: "/docs/guides/building/gambits/images/gambit-star-rating.png",
      gambitStartAndEnd: "/docs/guides/building/gambits/images/gambit-start-and-end.png",
      gambitText: "/docs/guides/building/gambits/images/gambit-text.png",
      gambitTrigger: "/docs/guides/building/gambits/images/gambit-trigger.png"
    },
    languagesTranslateGambit: "/docs/guides/building/images/languages-translate-gambit.png",
    languageSystemMessages: "/docs/guides/building/images/language-system-messages.png",
    newDraftDialog: "/docs/guides/building/images/new-draft-dialog.png",
    outputComponentsGrid: "/docs/guides/building/images/output-components-grid.png",
    publishDialog: "/docs/guides/building/images/publish-dialog.png",
    systemPromptDialog: "/docs/guides/building/images/system-prompt-dialog.png",
    testModeEventLog: "/docs/guides/building/images/test-mode-event-log.png",
    testModePanel: "/docs/guides/building/images/test-mode-panel.png",
    validationProblemsPanel: "/docs/guides/building/images/validation-problems-panel.png",
    variablePickerPanel: "/docs/guides/building/images/variable-picker-panel.png",
    variablePillInserted: "/docs/guides/building/images/variable-pill-inserted.png",
    versionsDraftsPanel: "/docs/guides/building/images/versions-drafts-panel.png"
  },
  campaigns: {
    campaignFlavorsTriggers: "/docs/guides/campaigns/images/campaign-flavors-triggers.svg",
    campaignReplyRouting: "/docs/guides/campaigns/images/campaign-reply-routing.svg",
    campaignSendAnatomy: "/docs/guides/campaigns/images/campaign-send-anatomy.svg",
    createACampaign: "/docs/guides/campaigns/images/create-a-campaign.png",
    walletReserveSettleRefund: "/docs/guides/campaigns/images/wallet-reserve-settle-refund.svg",
    webhookCampaignContractLocking: "/docs/guides/campaigns/images/webhook-campaign-contract-locking.svg",
    webhookCampaignLifecycleStates: "/docs/guides/campaigns/images/webhook-campaign-lifecycle-states.svg",
    webhookCampaignOneCallOneDelivery: "/docs/guides/campaigns/images/webhook-campaign-one-call-one-delivery.svg"
  },
  channels: {
    distributeWhatsappConnect: "/docs/guides/channels/images/distribute-whatsapp-connect.png",
    whatsappConnectDialogWaiting: "/docs/guides/channels/images/whatsapp-connect-dialog-waiting.png",
    whatsappEmptyState: "/docs/guides/channels/images/whatsapp-empty-state.png"
  },
  deploy: {
    bridgeEventGambitSection: "/docs/guides/deploy/images/bridge-event-gambit-section.png",
    deploymentSurfacesAndChannels: "/docs/guides/deploy/images/deployment-surfaces-and-channels.svg",
    designAgentTab: "/docs/guides/deploy/images/design-agent-tab.png",
    designLauncherTab: "/docs/guides/deploy/images/design-launcher-tab.png",
    embedIframeTab: "/docs/guides/deploy/images/embed-iframe-tab.png",
    embedTheWidget: "/docs/guides/deploy/images/embed-the-widget.png",
    mobileAppIntegration: "/docs/guides/deploy/images/mobile-app-integration.png",
    onYourDomain: "/docs/guides/deploy/images/on-your-domain.png",
    shareYourAgentLink: "/docs/guides/deploy/images/share-your-agent-link.png"
  },
  developer: {
    api: {
      channelSendTemplateVsMessage: "/docs/developer/api/images/channel-send-template-vs-message.svg",
      endUsers: {
        endUsersListCursorPagination: "/docs/developer/api/end-users/images/end-users-list-cursor-pagination.svg"
      },
      triggerCallConversationLifecycle: "/docs/developer/api/images/trigger-call-conversation-lifecycle.svg"
    },
    developerSurfacesMap: "/docs/developer/images/developer-surfaces-map.svg",
    embed: {
      embedConfigToWidgetContext: "/docs/developer/embed/images/embed-config-to-widget-context.svg",
      hostPageBridgeFlow: "/docs/developer/embed/images/host-page-bridge-flow.svg",
      identitySigningFlow: "/docs/developer/embed/images/identity-signing-flow.svg",
      scriptVsIframeEmbed: "/docs/developer/embed/images/script-vs-iframe-embed.svg"
    },
    mobile: {
      bridgeMessageProtocol: "/docs/developer/mobile/images/bridge-message-protocol.svg",
      webviewBridgeArchitecture: "/docs/developer/mobile/images/webview-bridge-architecture.svg"
    }
  },
  endUsers: {
    anonymousToIdentifiedProfile: "/docs/guides/end-users/images/anonymous-to-identified-profile.svg",
    bulkActionBar: "/docs/guides/end-users/images/bulk-action-bar.png",
    campaignConsentGate: "/docs/guides/end-users/images/campaign-consent-gate.svg",
    consentPerChannelStates: "/docs/guides/end-users/images/consent-per-channel-states.svg",
    dynamicVsStaticSegments: "/docs/guides/end-users/images/dynamic-vs-static-segments.svg",
    endUserDirectory: "/docs/guides/end-users/images/end-user-directory.png",
    endUserProfileAcrossChannels: "/docs/guides/end-users/images/end-user-profile-across-channels.svg",
    endUserProfilePanes: "/docs/guides/end-users/images/end-user-profile-panes.png",
    profileMergeAndTakeoverProtection: "/docs/guides/end-users/images/profile-merge-and-takeover-protection.svg",
    segmentBuilder: "/docs/guides/end-users/images/segment-builder.png",
    segmentsPage: "/docs/guides/end-users/images/segments-page.png"
  },
  getStarted: {
    agentStates: "/docs/get-started/images/agent-states.svg",
    buildToLivePath: "/docs/get-started/images/build-to-live-path.svg",
    dashboardSidebarMap: "/docs/get-started/images/dashboard-sidebar-map.png",
    organizationOwnershipAndRoles: "/docs/get-started/images/organization-ownership-and-roles.svg",
    quickstart: {
      step1CreateYourAccount: "/docs/get-started/images/quickstart/step-1-create-your-account.png",
      step3ConnectTheAiAgent: "/docs/get-started/images/quickstart/step-3-connect-the-ai-agent.png",
      step4TestMode: "/docs/get-started/images/quickstart/step-4-test-mode.png"
    },
    quickstartCanvas: "/docs/get-started/images/quickstart-canvas.png"
  },
  knowledge: {
    addASource: "/docs/guides/knowledge/images/add-a-source.png",
    addRetrieverPicker: "/docs/guides/knowledge/images/add-retriever-picker.png",
    attachKnowledgeGambit: "/docs/guides/knowledge/images/attach-knowledge-gambit.png",
    configureARetriever: "/docs/guides/knowledge/images/configure-a-retriever.png",
    createKnowledgeBaseDialog: "/docs/guides/knowledge/images/create-knowledge-base-dialog.png",
    customRetrieverDialog: "/docs/guides/knowledge/images/custom-retriever-dialog.png",
    datasetTab: "/docs/guides/knowledge/images/dataset-tab.png",
    documentChangeReindexLifecycle: "/docs/guides/knowledge/images/document-change-reindex-lifecycle.svg",
    documentsTabPreview: "/docs/guides/knowledge/images/documents-tab-preview.png",
    importAWebsite: "/docs/guides/knowledge/images/import-a-website.png",
    kbList: "/docs/guides/knowledge/images/kb-list.png",
    retrieverIndexStates: "/docs/guides/knowledge/images/retriever-index-states.svg",
    retrieverQueryPipeline: "/docs/guides/knowledge/images/retriever-query-pipeline.svg",
    standardVsParentChildChunking: "/docs/guides/knowledge/images/standard-vs-parent-child-chunking.svg",
    syncManagement: "/docs/guides/knowledge/images/sync-management.png",
    testRetriever: "/docs/guides/knowledge/images/test-retriever.png"
  },
  liveChat: {
    agentWorkspace: "/docs/guides/live-chat/images/agent-workspace.png",
    assignedAgentPicker: "/docs/guides/live-chat/images/assigned-agent-picker.png",
    automaticAssignmentRouting: "/docs/guides/live-chat/images/automatic-assignment-routing.svg",
    availabilityDropdown: "/docs/guides/live-chat/images/availability-dropdown.png",
    cannedResponses: "/docs/guides/live-chat/images/canned-responses.png",
    composerPreferences: "/docs/guides/live-chat/images/composer-preferences.png",
    copilotPanel: "/docs/guides/live-chat/images/copilot-panel.png",
    filterConversationsDialog: "/docs/guides/live-chat/images/filter-conversations-dialog.png",
    inboxAnalyticsTab: "/docs/guides/live-chat/images/inbox-analytics-tab.png",
    inboxAvailabilityTab: "/docs/guides/live-chat/images/inbox-availability-tab.png",
    inboxesSettings: "/docs/guides/live-chat/images/inboxes-settings.png",
    inboxRoutingTab: "/docs/guides/live-chat/images/inbox-routing-tab.png",
    labelsSettings: "/docs/guides/live-chat/images/labels-settings.png",
    newAttributeDialog: "/docs/guides/live-chat/images/new-attribute-dialog.png",
    newCannedResponseDialog: "/docs/guides/live-chat/images/new-canned-response-dialog.png",
    notificationPreferences: "/docs/guides/live-chat/images/notification-preferences.png",
    notificationsPage: "/docs/guides/live-chat/images/notifications-page.png",
    pickupTargetCard: "/docs/guides/live-chat/images/pickup-target-card.png",
    resolveMenu: "/docs/guides/live-chat/images/resolve-menu.png",
    searchDialog: "/docs/guides/live-chat/images/search-dialog.png",
    seatGateConversation: "/docs/guides/live-chat/images/seat-gate-conversation.png",
    seatsSettings: "/docs/guides/live-chat/images/seats-settings.png",
    workTheInbox: "/docs/guides/live-chat/images/work-the-inbox.png"
  },
  security: {
    addOpenRouterKeyDialog: "/docs/guides/security/images/add-open-router-key-dialog.png",
    auditChainVerified: "/docs/guides/security/images/audit-chain-verified.png",
    auditEventDrawer: "/docs/guides/security/images/audit-event-drawer.png",
    auditExportDialog: "/docs/guides/security/images/audit-export-dialog.png",
    auditLogViewer: "/docs/guides/security/images/audit-log-viewer.png",
    auditRecordLifecycle: "/docs/guides/security/images/audit-record-lifecycle.svg",
    logPrivacyRedactionEnabled: "/docs/guides/security/images/log-privacy-redaction-enabled.png",
    modelProviderEmptyState: "/docs/guides/security/images/model-provider-empty-state.png",
    privacySettings: "/docs/guides/security/images/privacy-settings.png",
    siemConnectWizard: "/docs/guides/security/images/siem-connect-wizard.png",
    supportActorMasking: "/docs/guides/security/images/support-actor-masking.svg"
  },
  tools: {
    addToolModal: "/docs/guides/tools/images/add-tool-modal.png",
    addToolsPanel: "/docs/guides/tools/images/add-tools-panel.png",
    codekitActionEditor: "/docs/guides/tools/images/codekit-action-editor.png",
    codekitConnectToolkitsDialog: "/docs/guides/tools/images/codekit-connect-toolkits-dialog.png",
    codekitSchemaDialog: "/docs/guides/tools/images/codekit-schema-dialog.png",
    codekitToolkit: "/docs/guides/tools/images/codekit-toolkit.png",
    codekitToolkitAnatomy: "/docs/guides/tools/images/codekit-toolkit-anatomy.svg",
    createActionDialog: "/docs/guides/tools/images/create-action-dialog.png",
    createCodekitDialog: "/docs/guides/tools/images/create-codekit-dialog.png",
    responseFilteringDialog: "/docs/guides/tools/images/response-filtering-dialog.png",
    toolGambitEditorAgentMode: "/docs/guides/tools/images/tool-gambit-editor-agent-mode.png",
    toolGambitEditorWorkflowMode: "/docs/guides/tools/images/tool-gambit-editor-workflow-mode.png",
    toolkitDetail: "/docs/guides/tools/images/toolkit-detail.png",
    toolsConnected: "/docs/guides/tools/images/tools-connected.png",
    toolsDirectory: "/docs/guides/tools/images/tools-directory.png",
    viewActionsModal: "/docs/guides/tools/images/view-actions-modal.png",
    workflowModeResponse: "/docs/guides/tools/images/workflow-mode-response.png"
  }
};

Live chat is built into Tars. Human agents reply in the same thread as the agent, on Web and WhatsApp, and every reply needs a live-chat seat.

## One conversation, two kinds of replies

Every conversation is one continuous thread. Replies from the agent, from its AI Agent gambits, and from human agents all appear in the same thread, in order. The end user stays on the same widget or WhatsApp chat when a human joins.

Human agents reply to Web and WhatsApp conversations from the same inbox. See [Channels overview](/docs/guides/channels/channels-overview) for how the two channels differ.

## The Live Chat gambit

A flow hands a conversation to your team through the **Live Chat** gambit. In the builder palette it sits under **Handoff** with the description **Escalate the conversation to a human agent**. When the gambit runs, the conversation is handed to a human agent and the agent pauses. The agent resumes when the human agent resolves the conversation, the wait window elapses, or nobody is available.

### Assignment

The **Assignment** section decides who picks the conversation up.

| Field                   | What it does                                                                                                                                                                                    |
| ----------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Assignment Strategy** | **Least busy** picks the online human agent with the fewest open conversations, and **Round robin** rotates to the human agent who was least recently assigned.                                 |
| **Priority**            | **Low**, **Normal**, **High**, or **Urgent**. **Low**, **High**, and **Urgent** show as a priority pill in the inbox, and **Normal** sets no priority. It does not change who is auto-assigned. |
| **Allowed Agents**      | Restricts assignment to the human agents you pick. Leave it on **Any live chat agent** to allow anyone in the inbox.                                                                            |
| **Wait for agent**      | **1 minute**, **3 minutes**, or **5 minutes**. If the assigned human agent sends no reply in that window, the **No Agents** exit fires.                                                         |

If you leave the strategy unset on the gambit, the inbox default applies. Inbox defaults are covered in [Set up inboxes](/docs/guides/live-chat/set-up-inboxes).

### End user identity

At handoff, the latest name, email, and phone are saved so the human agent sees them. The **Visitor name**, **Visitor email**, and **Visitor phone** fields take a literal value or a flow variable. Type `@` to insert a variable, for example the answer captured by an earlier gambit. An email or phone confirmed by an earlier OTP gambit is marked as verified.

### End user messages

Three messages go to the end user around the handoff. Each field accepts variables with `@`.

| Message                   | When the end user sees it                                                                           |
| ------------------------- | --------------------------------------------------------------------------------------------------- |
| **Connecting Message**    | While Tars looks for a human agent. A new gambit fills it with `Connecting you to a human agent…`.  |
| **Conversation Resolved** | When the human agent resolves the chat, for example `Thanks for chatting with us!`.                 |
| **No Agents Available**   | When no human agent can be assigned, or the assigned human agent sends no reply in the wait window. |

### The two exits

The gambit has two exits on the builder, **Resolved** and **No Agents**. Connect **Resolved** to the gambit that should run after the human agent closes the conversation, for example a CSAT question. Connect **No Agents** to a fallback, for example a gambit that collects an email address. Wiring exits is covered in [Flow control and branching](/docs/guides/building/flow-control-and-branching).

## What happens after the handoff

The conversation is assigned to a human agent by the strategy above and appears in that person's inbox. While the agent still controls a conversation, a seated member who opens it sees **You're observing this conversation. Take over to reply.** with a **Take over conversation** button. When a conversation belongs to another human agent, the composer is replaced by **Reassign to me**.

The dashboard has no control that hands a conversation back to the agent. Once a human agent takes over, the conversation stays with human agents until someone resolves it.

The human agent closes the conversation with **Resolve**. Tars then sends the **Conversation Resolved** message and, when the **Resolved** exit is wired, continues the flow from there. Working the queue and the composer are covered in [Work the inbox](/docs/guides/live-chat/work-the-inbox) and [Use the Agent Workspace](/docs/guides/live-chat/agent-workspace).

## The Conversations area

**Conversations** in the sidebar, under **Engagement**, opens the live chat area. The left rail carries a **Live** and **Test** toggle, the **Mentions**, **Participating**, and **Unattended** views, and your inboxes. Seated members also see their availability control at the bottom of the rail.

<Browser url={urls.app}>
  <img src={img.liveChat.seatGateConversation} alt="An open conversation viewed by an admin without a seat, with the Assign yourself a seat to reply notice in place of the composer" />
</Browser>

The **Settings** entry in the rail opens the live chat settings pages. Each has its own guide.

| Settings page                                  | Guide                                                        |
| ---------------------------------------------- | ------------------------------------------------------------ |
| **Preferences**                                | [Use the Agent Workspace](/docs/guides/live-chat/agent-workspace) |
| **Labels**, **Inboxes**, **Custom attributes** | [Set up inboxes](/docs/guides/live-chat/set-up-inboxes)           |
| **Team members**                               | This page, under [Who needs a seat](#who-needs-a-seat)       |
| **Notifications**                              | [Live chat notifications](/docs/guides/live-chat/notifications)   |
| **Canned responses**                           | [Use the Agent Workspace](/docs/guides/live-chat/agent-workspace) |

## Who needs a seat

A live-chat seat is the permission to reply to end users. Seats are separate from organization roles. A role controls what a member can see and manage across the organization, and only a seat grants replying in live chat.

Roles themselves are covered in [Roles and permissions](/docs/guides/billing/roles-and-permissions).

| Role    | Can hold a seat | Without a seat                                          |
| ------- | --------------- | ------------------------------------------------------- |
| Admin   | Yes             | Opens Conversations and reads every inbox, cannot reply |
| Member  | Yes             | No access to Conversations                              |
| Viewer  | Yes             | No access to Conversations                              |
| Billing | No              | No access to Conversations                              |
| Auditor | No              | Opens Conversations and reads every inbox, cannot reply |

A Viewer with a seat can reply to end users without gaining any management permissions. A seat also lets the holder read and manage end user records.

The **Team members** page under live chat settings lists everyone with live chat access, with an online status dot and the count of active conversations. Its **Manage** button opens the organization member list.

### What a member sees without a seat

A Member or Viewer without a seat who opens **Conversations** sees a locked empty state. It reads **Livechat isn't available on your account** and asks the member to request a live-chat seat from an organization admin.

An Admin without a seat opens conversations in read-only mode. Under the thread, a notice reads **Assign yourself a seat to reply** with a **Manage seats** button. The **Preferences** settings page shows a similar notice, because composer and notification preferences belong to a seated human agent. An Auditor without a seat reads conversations with no composer at all.

## Where seats are managed

Admins manage seats on the **Livechat seats** tab of **Settings > Organization**. The **Manage seats** buttons across live chat, and the link on the Billing page, open the same seats page. Buying seats and assigning them are covered in [Manage live-chat seats](/docs/guides/billing/live-chat-seats).

<Frame>
  <img src={img.liveChat.seatsSettings} alt="The Livechat seats tab in organization settings with the Purchased, Assigned, and Available counts, the member filters, and the member table with a Seat switch per row" />
</Frame>

### Seat counts

A card at the top shows three numbers. The **Purchased** number is the seats bought in addition to your plan, **Assigned** is the seats attached to members, and **Available** is what is left to assign. Seats included with your plan are added to the pool automatically, so **Available** can be higher than **Purchased** minus **Assigned**.

## Plan changes and the seat pool

Your seat pool is the seats included with your plan plus the seats you purchased. Included seats depend on your plan and are shown on the Billing card. When the pool shrinks, for example after a downgrade, Tars revokes the most recently assigned seats first until the pool fits. Each affected member receives an email.

The **Cancel plan** dialog warns that live-chat seats deactivate and human agents can no longer reply.

## Related pages

* [Work the inbox](/docs/guides/live-chat/work-the-inbox)
* [Set up inboxes](/docs/guides/live-chat/set-up-inboxes)
* [Assignment and availability](/docs/guides/live-chat/assignment-and-availability)
* [Manage live-chat seats](/docs/guides/billing/live-chat-seats)
* [Roles and permissions](/docs/guides/billing/roles-and-permissions)
* [Invite your team](/docs/get-started/invite-your-team)
