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

# Build end user segments

> Group end users into dynamic or static segments, preview the match before saving, and reuse segments in campaigns.

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

At the end of this page, you have a saved segment that campaigns and your team can reuse.

<Browser url={urls.app}>
  <img src={img.endUsers.segmentsPage} alt="The Users page on the Segments tab, with the All, Dynamic, and Static toggle, the search box, and a table of saved segments" />
</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 end users in the directory. [Import end users](/docs/guides/end-users/import-and-export) first if the directory is empty.
* Creating and editing segments needs permission to manage resources. Without it, the **New segment** button and row actions stay hidden.

## Dynamic or static

The builder offers two segment types. Pick the type before you save, because it cannot change later.

| Type    | Badge                               | Behavior                                                              |
| ------- | ----------------------------------- | --------------------------------------------------------------------- |
| Dynamic | **Dynamic** pill with a filter icon | Auto-updates as end users match the saved filter conditions.          |
| Static  | **Static** pill with a list icon    | A frozen list of picked end users that never adds members on its own. |

<Frame>
  <img src={img.endUsers.dynamicVsStaticSegments} alt="The same saved conditions producing a dynamic segment whose membership refreshes automatically and a static segment whose membership stays frozen at save time." />
</Frame>

## Open the Segments tab

Open **Users** from the sidebar, then select the **Segments** tab beside **All users**. The header reads **Saved segments for campaigns and re-engagement**.

The toolbar gives you, left to right:

| Control                            | What it does                                                                                                     |
| ---------------------------------- | ---------------------------------------------------------------------------------------------------------------- |
| **All** / **Dynamic** / **Static** | Toggle that limits the table to one segment type.                                                                |
| **Sort**                           | Popover with **Last used** (default), **Created**, **Name**, and **Member count**, each ascending or descending. |
| Count chip                         | Shows how many segments the table lists.                                                                         |
| Search                             | Placeholder **Search segments by name or description…**.                                                         |

The table shows **Name**, **Type**, **Members**, **Description**, and **Last updated**. **Last updated** shows a relative time, or **never** for a segment that has not been counted. Before any segment exists, the empty state reads **No segments yet**.

## Create a segment

<Steps>
  <Step title="Select New segment">
    The button sits in the page header on either **Users** tab. The builder opens with the form on the left and a live **Preview** on the right.
  </Step>

  <Step title="Name the segment">
    **Name** is required, up to 80 characters, with the placeholder **e.g. US Trial users**. Saving without one shows **Segment name required**.
  </Step>

  <Step title="Add a description if you want one">
    **Description (optional)** takes up to 500 characters and appears in the segments table.
  </Step>

  <Step title="Choose the type under Define members by">
    Pick the **Filter (Dynamic)** card or the **Specific users (Static)** card. The unchosen card is locked once the segment exists.
  </Step>

  <Step title="Define the members">
    Dynamic segments take filter conditions. Static segments take picked end users. Both paths are detailed below.
  </Step>

  <Step title="Check the Preview panel">
    The panel shows the match count and a sample table with Name, Email, and Phone. Adjust until the match looks right.
  </Step>

  <Step title="Select Save segment">
    A **Segment created** message confirms the save, and the segment opens for reuse.
  </Step>
</Steps>

## Write dynamic conditions

<Browser url={urls.app}>
  <img src={img.endUsers.segmentBuilder} alt="The segment builder with a Tags equals vip condition set, and the Preview panel showing the two matching end users" />
</Browser>

A dynamic segment uses the same rule editor as the directory filter. Each condition row combines an attribute, a comparison, and a value. **Add condition** adds a row, and the trash button removes one. Pills between rows toggle **AND** and **OR**, and AND has precedence over OR.

| Attribute                                                                          | Value input                                              | Comparisons                                        |
| ---------------------------------------------------------------------------------- | -------------------------------------------------------- | -------------------------------------------------- |
| **Labels**                                                                         | Multi-select of organization labels                      | Equals, Does not equal, Is present, Is not present |
| **Name**, **Email**, **Phone**, **Company**, **First referrer**, **Last referrer** | Text                                                     | Equals, Does not equal, Contains, Does not contain |
| **Country**                                                                        | Country picker                                           | Equals, Does not equal                             |
| **City**                                                                           | Text                                                     | Equals, Does not equal                             |
| **Blocked**                                                                        | **Yes** or **No**                                        | Equals                                             |
| **Inboxes**                                                                        | Multi-select of agents                                   | Equals, Does not equal                             |
| **Channel**                                                                        | Multi-select of channels, such as Web and WhatsApp       | Equals, Does not equal                             |
| **Source**                                                                         | **Inbound**, **CSV import**, or **Manually**             | Equals, Does not equal                             |
| **Created**, **Last seen**                                                         | Date and time picker, or a day count for **Days before** | After, Before, Days before                         |
| **Tags**                                                                           | Multi-select of organization tags in use                 | Equals, Does not equal, Is present, Is not present |
| **Status**                                                                         | **Anonymous** or **Identified**                          | Equals, Does not equal                             |

Rows without a value are dropped when the segment saves, except **Is present** and **Is not present**. Saving a dynamic segment with no conditions shows **Add at least one filter condition**.

The preview scans at most 2,000 profiles. When the scan reaches that cap, the count line adds **capped at 2,000 scanned**, so the count is a lower bound. The saved segment counts the whole directory.

An empty Preview panel prompts **Add a filter condition to see matching users.** With conditions set, it shows the match count and the sample table. When nothing matches, it reads **No users match.** A populated preview ends with **Showing first N of M.**, because the table is a sample of the match.

## Pick static members

A static segment starts from a picker instead of conditions. The search input reads **Search and add users…**, with a **Filter** button beside it for the same attributes as above. Matches appear as a checkbox list, and the idle hint reads **Search or apply a filter to find users.**

Until you pick someone, the Preview panel reads **Pick users to see them here.** The panel then samples at most 10 of your picks.

Once a search or filter is active, an **Add all matching** button appears. Name the segment first, because the button refuses with **Name the segment before adding matching contacts**. Pick at least one end user too.

On an unsaved segment the button saves the segment with your picks, up to 500, and opens it. The matching end users are then added in the background.

Organization admins also see **Import from CSV**, which opens the import flow and adds the imported end users to the selection. Saving a static segment with no picked members shows **Pick at least one user**.

After the save, the picker is gone. The **Members** tab of a saved static segment lets you view and export the membership, not change it.

## Review a saved segment

Selecting a row on the Segments tab opens the segment detail page. The left card shows the member count with an **updated** timestamp and a **refresh** link that recounts membership. The card also shows how many campaigns use the segment and when it was created. It holds the **Use in campaign** and **Delete segment** buttons.

**Last used** appears once a campaign has used the segment. The **refresh** link and **Delete segment** need permission to manage resources. Dynamic segments list their **Filter conditions** as read-only chips with an **Edit conditions** link.

A static segment refresh reports **Recomputed: N members**. A dynamic segment refresh reports **Recounting members in the background**, and the count updates when the recount finishes.

The right side has two tabs:

| Tab          | What it holds                                                                                                                                                                                                                       |
| ------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Members**  | Searchable member table with **Identity**, **Email**, **Phone**, and **Tags** columns, paged 25 at a time. For members who can export data, an **Export** button starts a background download. Dynamic segments add a sort popover. |
| **Activity** | **Campaigns using this segment**, each linked with its status and sent date. Empty state: **No campaigns yet**.                                                                                                                     |

To change a dynamic segment, select **Edit conditions** or the **Edit** row action on the list. A static segment has only the **Edit** row action, which changes its name and description. The edit form matches the builder, with the type locked, and saves with **Save changes**.

<Warning>
  Deleting a segment is permanent, and campaigns referencing it stop working. Check the **Activity** tab before you delete.
</Warning>

To delete, select **Delete segment** and confirm **Delete** in the dialog. The row action menu on the Segments tab offers the same **Edit**, **Use in campaign**, and **Delete segment** actions.

## Reuse segments in campaigns

Campaign audiences are built from segments. **Use in campaign** on the detail page or the row menu starts a new campaign with the segment preselected. A campaign still checks consent at send time and sends only to end users with granted consent on the channel. See [Create a campaign](/docs/guides/campaigns/create-a-campaign).

## Verify

Open the saved segment from the **Segments** tab. The member count matches the builder preview, and the **Members** tab lists the end users you expect.

## Related pages

* [End user profiles](/docs/guides/end-users/profiles)
* [End user consent](/docs/guides/end-users/consent)
* [Import and export end users](/docs/guides/end-users/import-and-export)
* [Create a campaign](/docs/guides/campaigns/create-a-campaign)
