> ## 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.

# Watch conversations

> Open an agent's Activity tab to watch conversations as they happen and read every message, event, tool call, and captured variable.

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 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"
  }
};

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

The Activity tab is read-only, so nothing you open here changes a conversation. Human agents reply from **Conversations** instead, which needs a live-chat seat.

<Browser url={urls.app}>
  <img src={img.activity.activityTimeline} alt="Agent Activity page with the Timeline and Data view toggle, date range, source picker, Export data button, conversation list, and a timeline of events filtered by chips" />
</Browser>

## Before you start

Before you start, sign in to <a href={urls.app}>the dashboard</a> and select the organization you want to work in.

* You need an agent with at least one conversation. Runs from the builder's test panel count.

## Two places to watch a conversation

The dashboard shows conversations in two places. This page covers the agent **Activity** tab.

| Place                                 | What it is for                                                                                        |
| ------------------------------------- | ----------------------------------------------------------------------------------------------------- |
| Agent **Activity** tab                | Read-only view of one agent's conversations, with the event timeline, captured variables, and export. |
| **Conversations** in the main sidebar | The live chat inbox across agents, where human agents reply. It needs a live-chat seat.               |

For the inbox, see [Work the inbox](/docs/guides/live-chat/work-the-inbox) and [Agent Workspace](/docs/guides/live-chat/agent-workspace).

## Open the Activity tab

<Steps>
  <Step title="Open your agent">
    In the dashboard, select **AI Agents**, then select your agent.
  </Step>

  <Step title="Select Activity in the builder sidebar">
    The header shows the agent name with the sub-label **Activity**.
  </Step>

  <Step title="Check the view toggle">
    **Timeline** is selected first. **Data view** sits beside it and shows one card per conversation.
  </Step>

  <Step title="Select a conversation">
    The most recently active conversation opens on its own. Select any other row to open its timeline beside the list.
  </Step>
</Steps>

A conversation that is still running updates in real time. New messages and events append to the timeline while you watch.

## Choose the source: live, test, or a draft

The source picker sits beside the date range. A green dot marks the **Live** source, and an amber dot marks any test source.

| Source                    | What it shows                                                                             |
| ------------------------- | ----------------------------------------------------------------------------------------- |
| **Live**                  | Conversations from real end users                                                         |
| **Test · Published flow** | Test panel runs against the live flow                                                     |
| **Draft previews**        | Test runs against one draft, listed as **Draft · Pricing update** with its last edit time |

When no drafts exist, the draft section reads **No drafts yet**. Changing the source clears the selected conversation. Test and draft conversations are never billed. See [Conversation usage](/docs/guides/billing/conversation-usage).

## Pick a date range

The date range picker defaults to the current month. Open it to pick presets such as **Today**, **This week**, **Last 30 days**, or **Last 3 months**, or type a number of days up to today. Select **Apply** to filter, or **Reset** to return to the current month. The conversation list and **Data view** both follow the selected range.

## Find a conversation in the list

The list on the left covers the selected range and source. Type in **Search conversations…** to filter the loaded rows by display name.

Each row shows an initials avatar, the end user's name, a channel icon with the channel name, a status dot with the status, and a short date. An end user with no name appears as **Visitor #a1b2c3**. Statuses are active, pending, snoozed, resolved, and abandoned. The list loads more rows as you scroll.

When the range holds nothing, the list reads **No live conversations yet** or **No test conversations yet**.

## Read the timeline

The conversation header shows the avatar, the end user's name, and chips for channel, environment, and status. A meta line below it gives the start time, message count, and event count.

Filter chips above the feed narrow the timeline: **All**, **Lifecycle**, **Flow**, **AI**, **Routing**, **Errors**, and **Messages**. When a chip matches nothing, the feed reads **Nothing matches this filter**.

The feed interleaves message bubbles with event rows, sorted by time and split by day separators. Each event row shows its time, a category dot, an icon, and the event title. Images sent in the conversation open in a full-screen viewer.

| Chip          | Example rows                                                                                                                              |
| ------------- | ----------------------------------------------------------------------------------------------------------------------------------------- |
| **Lifecycle** | **Conversation started**, **Conversation completed**, **Conversation abandoned**, **Continued in a new conversation**, **CSAT submitted** |
| **Flow**      | **Reached #4**, **Captured email**, **Validation failed**, **Q\&A answered**                                                              |
| **AI**        | **AI agent run started**, **Knowledge retrieved (3 results)**, **Tool: GMAIL\_SEND\_EMAIL**, **AI agent responded**                       |
| **Routing**   | **Escalated to human**, **Agent took over**, **Released to AI**                                                                           |
| **Errors**    | **LLM error**, **Message delivery failed**, **Transcription failed**                                                                      |

### Expand an event

Select a row to expand a detail table of its fields. A **Reached** row lists the gambit, its type, and the gambit it came from. A **Captured** row lists the input type, the variable, and the value. Error events show in red with an **error** pill.

A **Continued in a new conversation** row means a campaign reply replaced this conversation with a new one. Its detail table shows **Started by** as **Campaign reply**. **Previously handled by** shows what controlled the conversation before the reply. See [Handle campaign replies](/docs/guides/campaigns/handle-replies).

A **Message delivery failed** row means a message did not reach the end user on WhatsApp. The **Error** field gives the reason. When the failed message was the question of a gambit, the reason also states that the flow is waiting for a reply. For example, a question with no text is not sent, so the end user cannot answer it.

### Read an API call

A gambit API action expands into an API call detail card. The card header shows the method, the URL, the status code, and the duration. Tabs switch between **Response**, **Request**, and **Headers**, and a footer names the variables the call captured. Secret headers are masked, and long bodies are trimmed at capture.

## Inspect an AI turn

Each AI reply in the feed carries a thought pill above the bubble. Select it to expand the reasoning and the tool calls for that turn.

Select the **AI** chip to isolate the AI events around that reply. The **AI agent responded** row lists the model and the tool call count, and a **Tool** row reports whether the call succeeded.

In the dashboard you always see the full reasoning and tool detail. What end users see of it is a separate setting. See [What end users see](/docs/guides/activity/end-user-experience).

## Search captured variables

<Steps>
  <Step title="Open the variables panel">
    Select the braces icon in the conversation header. The **Captured variables** panel opens on the right.
  </Step>

  <Step title="Search by name">
    Type in **Filter variables…** to narrow the list. The filter also matches the gambit that captured the variable.
  </Step>

  <Step title="Browse the groups">
    Variables sit in collapsible groups such as response, api, flow, enduser, utm, and url. Each group shows its count, and an empty group reads **empty**.
  </Step>

  <Step title="Jump to the capture point">
    Select a variable name with the tooltip **Jump to where this was captured**. The feed scrolls to the capture event and flashes it.
  </Step>
</Steps>

Long block values expand and collapse in place. Close the panel with the X in its header.

<Browser url={urls.app}>
  <img src={img.activity.capturedVariablesPanel} alt="Activity timeline with the Captured variables panel open on the right, showing the response and enduser groups with their counts" />
</Browser>

## Read the Data view

Select **Data view** in the header to see one card per conversation instead of the timeline. Cards follow the same source and date range. When nothing matches, the view reads **No conversations in this range**.

Each card opens with the avatar, the end user's name, the start time, and the status. Two sections follow:

| Section          | What it holds                                                                         |
| ---------------- | ------------------------------------------------------------------------------------- |
| **Session data** | End user, UTM, system, and URL values, one row per variable.                          |
| **Gambit data**  | One row per gambit the conversation reached, with the captured value or the AI reply. |

Handover moments appear as their own rows in **Gambit data**, for example:

* **Alex Morgan took over the conversation**
* **AI agent took over the conversation**
* **Returned to the flow**
* **Resolved by the end user**

A section with nothing yet reads **No data captured yet**.

Small icon buttons on a row open a dialog with the detail behind it. A gambit with an API action opens its API call card. An AI agent row opens the messages of that turn. A handover row with **View live chat** opens only the messages from that live chat segment.

<Browser url={urls.app}>
  <img src={img.activity.dataViewCards} alt="Activity Data view with conversation cards showing Session data and Gambit data rows" />
</Browser>

## Export what you see

The **Export data** button sits at the right of the Activity header. It needs export permission and opens the export dialog for the current source. See [Export conversations](/docs/guides/activity/export-conversations).

## Verify

Run your agent in the builder's test panel and answer one question. In **Activity**, switch the source picker to the matching test or draft source. The run appears in the conversation list, and its timeline grows as you answer.

## Related pages

* [Export conversations](/docs/guides/activity/export-conversations)
* [Work the inbox](/docs/guides/live-chat/work-the-inbox)
* [Testing your agent](/docs/guides/building/testing-your-agent)
* [Variables](/docs/guides/building/variables)
* [What end users see](/docs/guides/activity/end-user-experience)
