Skip to content

Marketing Automation

Segment
API integration

Ship Marketing Automation features without building the integration. Full Segment API access via Proxy, normalized data through Unified APIs, and 200+ MCP-ready tools for AI agents — all extensible to your exact use case.

Talk to us
Segment

Use Cases

Why integrate with Segment

Common scenarios for SaaS companies building Segment integrations for their customers.

01

Sync Segment workspace structure into your multi-tenant app

If your SaaS organizes customers by accounts, teams, or workspaces, you can pull Segment's workspace, group, and user hierarchy into your product to automatically mirror your end-user's organizational structure without manual setup.

02

Push product events into your end-users' Segment pipelines

Your SaaS generates valuable events (e.g., survey completions, invoice payments, feature usage). By integrating with Segment, you let end-users route those events to their own data warehouses, CRMs, and analytics tools without any custom code on their side.

03

Ingest real-time user behavior data from Segment

Instead of asking customers to install another SDK, your product can receive Track, Identify, and Group calls directly from Segment — giving you rich behavioral data to power features like account health scoring, personalization, or usage-based billing.

04

Automate user provisioning based on Segment workspace membership

When end-users connect their Segment account, your app can read workspace members, roles, and groups to auto-provision users and assign permissions, reducing onboarding friction for team-based products.

05

Enrich your product's user profiles with Segment identity data

Pull unified user traits and group associations from Segment to augment your own user records, enabling richer segmentation, smarter defaults, and more relevant in-product experiences.

What You Can Build

Ship these features with Truto + Segment

Concrete product features your team can ship faster by leveraging Truto’s Segment integration instead of building from scratch.

01

Automatic workspace and team import

Let end-users connect Segment and instantly import their workspace hierarchy — including groups, users, and roles — so your product mirrors their org structure on day one.

02

Event forwarding to Segment

Ship a native 'Send to Segment' toggle that pushes your product's events (Track and Identify calls) into the end-user's Segment workspace using their Write Key.

03

Role-based access sync

Map Segment workspace roles to permission levels in your app so that admins, read-only users, and collaborators get the right access automatically.

04

Group-aware account dashboards

Use Segment's Group associations to build account-level views in your product, showing aggregated metrics and health scores per organization rather than per individual user.

05

Self-serve Segment connection via embedded auth

Embed Truto's auth flow so end-users can securely connect their Segment account from inside your app — no API keys copy-pasted over Slack.

SuperAI

Segment AI agent tools

Comprehensive AI agent toolset with fine-grained control. Integrates with MCP clients like Cursor and Claude, or frameworks like LangChain.

list_all_segment_users

List Segment users with access to the Workspace. Returns: id, name, email, permissions.

get_single_segment_user_by_id

Get a single Segment Workspace user by id. Returns: id, name, email, permissions. Required: id.

delete_a_segment_user_by_id

Delete a user from a Segment workspace by id. Returns: status. Required: id.

segment_users_attach_permission

Add a list of access permissions to a Segment user. Returns: roleId, roleName, resources. Required: user_id, userId, permissions.

segment_users_bulk_delete

Delete one or more Segment users in bulk by their ids. Returns: status. Required: userIds.

segment_users_bulk_delete_group

Remove users from a Segment user group by email address. Returns: status. Required: user_group_id, emails.

segment_users_bulk_update

Replace the members of a Segment user group with a new list of email addresses. Returns the updated group with id, name, memberCount, and permissions. Required: user_group_id, emails.

list_all_segment_roles

List Segment roles available to apply to permissions for users and groups. Returns: id, name, description.

update_a_segment_role_by_id

Replace the permission roles assigned to a Segment user. Returns the updated permissions under data, each including roleId, roleName, and resources. Required: userId, permissions.

list_all_segment_groups

List Segment user groups. Returns: memberCount, permissions, id, name.

get_single_segment_group_by_id

Get a Segment user group by id. Returns: memberCount, permissions, id, name. Required: id.

segment_groups_attach_permission

Add access permissions to a Segment user group. Returns the granted permissions with roleId, roleName, and resources. Required: user_group_id, userGroupId, permissions.

segment_groups_bulk_update

Replace all access permissions for a Segment user group. Returns the new permissions with roleId, roleName, and resources. Required: user_group_id, userGroupId, permissions.

create_a_segment_group

Create a user group in Segment. Returns the created group with id, name, and memberCount. Required: name.

delete_a_segment_group_by_id

Delete a user group from a Segment workspace by id. Returns: status. Required: id.

update_a_segment_group_by_id

Update a user group's name in Segment by id. Returns the updated group with id, name, and memberCount. Required: id, name.

list_all_segment_workspace

Get the Workspace in Segment associated with your API token. Returns: id, slug, name.

create_a_segment_activations_batch

Batch query Segment activations for a space, listing activations across many audiences in one bulk call instead of one request per audience. Returns: id, enabled, workspaceId, spaceId, audienceId, connectionId, and 3 more fields. Required: space_id, spaceId. Requires space_id and audienceIds. The workspace must have the Audience feature enabled.

create_a_segment_audience_destination_connection

Add a Destination to an Audience in Segment, creating a destination connection. Returns: id. The Destination must already be added to Engage via the Engage Settings page, and an Activation must be created to start syncing data. Required: space_id, audience_id, spaceId, audienceId, destination.

delete_a_segment_audience_destination_connection_by_id

Remove a Destination from an Audience in Segment by connection id. Returns: status. The request fails with a 409 Conflict if activations exist for the Destination. Required: id, space_id, audience_id, spaceId, audienceId, destinationId.

list_all_segment_audience_destination_connections

List all Destinations connected to an Audience in Segment. Returns: id, name, sourceId, enabled, createdAt, updatedAt, settings, destinationId, metadata, idSyncConfiguration, connectionSettings. Required: space_id, audience_id, space_id, audience_id.

update_a_segment_audience_destination_connection_by_id

Update the Destination connection for an Audience in Segment. Returns the connection with its destination id and idSyncConfiguration (externalId, strategy). The workspace must have the Audience feature enabled. Required: id, space_id, audience_id, spaceId, audienceId, destinationId.

create_a_segment_audience_schedule

Create a run schedule for a Linked Audience in Segment. Returns: id, strategy, config, nextExecution. Requires space_id, audience_id, strategy, and config. Schedules are only supported for Linked Audiences (audienceType = LINKED). Required: space_id, audience_id, spaceId, strategy, config.

delete_a_segment_audience_schedule_by_id

Delete an audience schedule from a Linked Audience in Segment. Returns: status. Requires space_id, audience_id, and id. Required: id, space_id, audience_id, spaceId, scheduleId.

get_single_segment_audience_schedule_by_id

Get a single audience schedule for an audience in Segment by id. Returns: id, strategy, config, nextExecution. Requires space_id, audience_id, and id. Required: id, space_id, audience_id, spaceId, scheduleId.

list_all_segment_audience_schedules

List all schedules configured for an audience in Segment. Returns: id, strategy, config, nextExecution. Requires space_id and audience_id. Required: space_id, audience_id, spaceId.

update_a_segment_audience_schedule_by_id

Update the run schedule for a Linked Audience in Segment. Returns: id, strategy, config, nextExecution. Requires space_id, audience_id, id, strategy, and config. Required: id, space_id, audience_id, spaceId, scheduleId, strategy, config.

create_a_segment_audiences_preview

Create an Audience Preview in a Segment space to evaluate an audience definition. Returns: id. The space's workspace must have the Audience feature enabled. Required: space_id, spaceId, definition, audienceType.

get_single_segment_audiences_preview_by_id

Get an Audience Preview by id in a Segment space to read its computed results. Returns: id, audienceType, definition, options, status, results, size, failureReason. Required: id, space_id, spaceId.

create_a_segment_destination_connection_activation

Create an Activation to sync a Segment audience to a destination connection. Returns: id, activationType, personalization, destinationMapping, and 8 more. The workspace must have the Audience feature enabled. Required: space_id, audience_id, connection_id, space_id, audience_id, connection_id, activationType, activationName, performResync.

create_a_segment_group_user

Add users or invites to a Segment user group by email. Returns the updated group including id, name, and memberCount. Required: user_group_id, userGroupId, emails.

list_all_segment_group_users

List the users belonging to a Segment user group. Returns: id, name, email. Required: user_group_id, userGroupId.

create_a_segment_regulations_cloudsource

Create a Cloud Source Regulation in Segment to suppress or delete end-user data scoped to a cloud source. Returns: regulateId. Regulations are processed asynchronously. Required: cloudsource_id, sourceId, regulationType, subjectType, subjectIds, collection.

segment_reverse_etl_model_syncs_cancel

Cancel a running Reverse ETL sync for a model in Segment. Returns: modelId, syncId, errorCode, errorMessage, status. Cancellation may take a few seconds to complete and the call errors if the sync already completed or was cancelled. Required: model_id, sync_id, modelId, syncId.

get_single_segment_reverse_etl_model_sync_by_id

Get the detailed sync status for a Reverse ETL sync in Segment, including extract and load phase results. Returns: syncId, modelId, sourceId, syncStatus, duration, startedAt, finishedAt, extractPhase, loadPhase, error, errorCode. Required: id, model_id, modelId, syncId.

segment_sources_attach_label

Add existing labels to a Segment Source. Returns the source's labels with their key, value, and description. Requires source_id and labels (an array of key/value pairs). Required: source_id, sourceId, labels.

segment_sources_bulk_update

Replace all labels in a Segment Source with the provided set. Returns the source's labels with their key, value, and description. Requires source_id and labels (an array of key/value pairs). Required: source_id, sourceId, labels.

create_a_segment_source

Create a new Source in Segment for a website or app you want to track. Returns the created source including its id, slug, name, writeKeys, enabled, metadata, settings, and labels. Required: slug, enabled, metadataId.

delete_a_segment_source_by_id

Delete a Segment Source by id. Returns: status. Required: id.

get_single_segment_source_by_id

Get a Segment Source by id. Returns the source including its id, slug, name, workspaceId, enabled, writeKeys, metadata, settings, and labels. Required: id.

list_all_segment_sources

List the Segment sources configured in your workspace. Returns for each source: id, slug, name, enabled, writeKeys, and metadata.

update_a_segment_source_by_id

Update an existing Segment source by id — rename it, change its slug or settings, or enable or disable it. Returns: id, slug, name, metadata, workspaceId, enabled, writeKeys, settings, labels. Required: id.

create_a_segment_space_audience

Create an audience in a Segment space. Returns the created audience including id, name, key, enabled, definition, status, and audienceType. The workspace must have the Audience feature enabled. Required: space_id, spaceId, name, definition, audienceType.

delete_a_segment_space_audience_by_id

Delete an audience from a Segment space by id. Returns: status. The workspace must have the Audience feature enabled. Required: id, space_id, spaceId.

get_single_segment_space_audience_by_id

Get an audience in a Segment space by id. Returns the audience including id, name, key, enabled, definition, status, size, and computeCadence. The workspace must have the Audience feature enabled. Required: id, space_id, spaceId.

list_all_segment_space_audiences

List audiences in a Segment space. Returns audiences with id, name, key, enabled, definition, status, size, and computeCadence. The workspace must have the Audience feature enabled. Required: space_id, spaceId.

update_a_segment_space_audience_by_id

Update an audience in a Segment space by id. Returns the updated audience including id, name, key, enabled, definition, status, and options. The audience is locked from further edits until the changes are incorporated, and the workspace must have the Audience feature enabled. Required: id, space_id, spaceId.

create_a_segment_space_computed_trait

Create a Computed Trait in a Segment space. Returns the created trait with id, name, key, definition, status, enabled, and createdAt. Requires space_id, name, and definition. Alpha API; API-created definitions are not editable in the Segment app. Required: space_id, spaceId, name, definition.

delete_a_segment_space_computed_trait_by_id

Delete a Computed Trait from a Segment space by id. Returns: status. Requires space_id and id. Alpha API. Required: id, space_id, spaceId.

get_single_segment_space_computed_trait_by_id

Get a Computed Trait by id in a Segment space. Returns: id, spaceId, name, description, key, enabled, definition, status, createdBy, updatedBy, createdAt, updatedAt, options. Requires space_id and id. Alpha API. Required: id, space_id, spaceId.

list_all_segment_space_computed_traits

List Computed Traits in a Segment space. Returns traits with id, name, key, definition, status, and enabled. Requires space_id. Alpha API. Required: space_id, spaceId.

update_a_segment_space_computed_trait_by_id

Update a Computed Trait by id in a Segment space. Returns: id, spaceId, name, description, key, enabled, definition, status, createdBy, updatedBy, createdAt, updatedAt, options. Requires space_id and id. The trait locks from further edits until changes are incorporated. Required: id, space_id, spaceId.

segment_tracking_plan_sources_bulk_delete

Remove a Source from a Tracking Plan in Segment. Returns: status. Required: tracking_plan_id, sourceId.

create_a_segment_tracking_plan_source

Connect a Source to a Tracking Plan in Segment. Returns: status. The workspace must have Protocols enabled. Required: tracking_plan_id, trackingPlanId, sourceId.

list_all_segment_tracking_plan_sources

List Sources connected to a Tracking Plan in Segment. Returns: id, slug, name, metadata, workspaceId, enabled, writeKeys, settings, labels. The workspace must have Protocols enabled. Required: tracking_plan_id, tracking_plan_id.

create_a_segment_warehouse_connected_source

Connect a Source to a Warehouse in Segment. Returns: status. Required: warehouse_id, connected_source_id, warehouseId, sourceId.

delete_a_segment_warehouse_connected_source_by_id

Disconnect a source from a Segment warehouse by removing its connection. Returns: status. Required: id, warehouse_id, warehouseId, sourceId.

list_all_segment_warehouse_connected_sources

List the sources connected to a Segment warehouse. Returns: id, slug, name, metadata, workspaceId, enabled, writeKeys, settings, labels. Required: warehouse_id, warehouse_id.

list_all_segment_credentials

List Segment credentials in the workspace. Returns each credential's id, workspaceId, name, settings, createdAt, and updatedAt.

create_a_segment_credential

Create a new Segment credential for a warehouse connection such as Snowflake. Returns the created credential with id, workspaceId, name, settings, createdAt, and updatedAt. Requires name and settings. Required: name, settings.

get_single_segment_credential_by_id

Get a Segment credential by id. Returns the credential's id, workspaceId, name, settings, createdAt, and updatedAt. Required: id.

update_a_segment_credential_by_id

Update a Segment credential by id; all warehouses using it are affected immediately. Returns the updated credential with id, workspaceId, name, settings, createdAt, and updatedAt. Required: id.

delete_a_segment_credential_by_id

Delete a Segment credential by id. Returns: status. Required: id. Fails with 409 Conflict if the credential is still in use by a warehouse or source (including a disabled one).

create_a_segment_customer_insights_download

Create a customer insights download in Segment for a collection and hour, generating presigned URLs to fetch the archived data files. Returns: urls. Required: collectionId, hour.

create_a_segment_dbt_model_syncs_trigger

Create a trigger for a new dbt model sync for a Segment Source. Returns the trigger object with its id, sourceId, and status. Required: sourceId.

list_all_segment_destinations

List Segment destinations. Returns: id, name, enabled, metadata, sourceId, settings.

create_a_segment_destination

Create a new Segment destination. Returns the created destination with its id, name, enabled, settings, metadata, and sourceId. Requires sourceId, metadataId, and settings.

segment_destinations_list_subscriptions

List subscriptions attached to a Segment destination. Returns: id, name, actionId, actionSlug, destination_id, enabled, settings, trigger, modelId, reverseETLSchedule. Required: destination_id, destination_id.

segment_destinations_attach_subscription

Create a subscription for a Segment destination. Returns the created subscription with id, name, actionId, actionSlug, enabled, and trigger. Limited to 5 requests per minute. Required: destination_id, name, actionId, trigger, enabled.

get_single_segment_destination_by_id

Get a single Segment destination by id. Returns: id, name, enabled, metadata, sourceId, settings. Required: id.

update_a_segment_destination_by_id

Update an existing Destination in Segment by id. Returns the updated destination including its id, name, enabled flag, settings, metadata, and sourceId. Required: id. Payloads that update only read-only settings fail; in mixed payloads the writable fields are updated and read-only ones ignored.

delete_a_segment_destination_by_id

Delete an existing Destination in Segment by id. Returns: status. Required: id.

list_all_segment_filters

List filters for a Segment space. Returns: id, workspaceId, integrationId, enabled, name, description, if, drop, createdAt, updatedAt. Required: integrationId. The workspace must have Space Filters enabled; the API is in beta.

create_a_segment_filter

Create a filter for a Segment space. Returns: id, workspaceId, integrationId, enabled, name, description, if, drop, createdAt, updatedAt, sourceId, destinationId, actions, title. Required: integrationId, name, and if (an FQL condition or "all"). Each space may have at most 10 filters; the API is in beta.

get_single_segment_filter_by_id

Get a filter for a Segment space by id. Returns: id, workspaceId, integrationId, enabled, name, description, if, drop, createdAt, updatedAt. Required: id. The workspace must have Space Filters enabled; the API is in beta.

update_a_segment_filter_by_id

Update a filter for a Segment space by id, replacing the existing filter. Returns: id, workspaceId, integrationId, enabled, name, description, if, drop, createdAt, updatedAt. Required: id, integrationId. The API is in beta.

segment_filters_partial_update

Update a filter for a Segment destination. Returns: id, sourceId, destination_id, if, actions, title, description, enabled, createdAt, updatedAt, integrationId, workspaceId, name. Required: destination_id, filter_id.

delete_a_segment_filter_by_id

Delete a Segment space filter by id. Returns: deleted. Required: id. The Filters API is in beta and the target workspace must have Space Filters enabled.

list_all_segment_filters_destination

List Segment destination filters for a destination. Returns: id, sourceId, destination_id, if, actions, title, description, enabled, createdAt, updatedAt. Required: destination_id.

create_a_segment_filters_destination

Create a filter for a Segment destination to drop, sample, or allow/drop event fields before delivery. Returns: id, sourceId, destination_id, if, actions, title, description, enabled, createdAt, updatedAt. Required: destination_id, sourceId, if, actions, title, enabled.

get_single_segment_filters_destination_by_id

Get a Segment destination filter by id. Returns: id, sourceId, destination_id, if, actions, title, description, enabled, createdAt, updatedAt. Required: id, destination_id.

delete_a_segment_filters_destination_by_id

Delete a destination filter from a Segment destination by id. Returns: status. Required: id, destination_id.

create_a_segment_function_deploy

Deploy a Segment Function, creating a function deployment for it. Returns the deployment result with its status (e.g. SUCCESS). Only applicable to Source Function instances. Required: function_id, functionId.

list_all_segment_functions

List Segment Functions in a workspace, filtered by Function type. Returns: id, resourceType, createdAt, createdBy, displayName, description, logoUrl, catalogId. The workspace needs Functions enabled. Required: resourceType.

create_a_segment_function

Create a Segment Function (custom Source or Destination in JavaScript) with optional settings. Returns the created Function including id, workspaceId, resourceType, displayName, code, settings, createdAt, and createdBy. Required: code, displayName, resourceType. The workspace needs the Functions feature enabled.

get_single_segment_function_by_id

Get a single Segment Function by id. Returns: id, resourceType, createdAt, createdBy, code, deployedAt, settings, displayName, description, logoUrl, previewWebhookUrl, batchMaxCount, catalogId, isLatestVersion. Required: id. The workspace needs Functions enabled.

update_a_segment_function_by_id

Update a Segment Function by id — modify its code, settings, displayName, logoUrl, or description. Returns the updated Function: id, displayName, resourceType, code, createdAt, settings. Required: id. The workspace needs Functions enabled.

delete_a_segment_function_by_id

Delete a Segment Function by id. Returns: status. Required: id. The workspace needs Functions enabled.

list_all_segment_insert_function_instances

List insert Function instances connected to a given insert Function class in Segment. Returns: id, name, integrationId, classId, enabled, createdAt, updatedAt, settings, encryptedSettings. Required: functionId. Workspace must have the Functions feature enabled.

create_a_segment_insert_function_instance

Create an insert Function instance connected to a given Destination in Segment. Returns: id, name, integrationId, classId, enabled, createdAt, updatedAt, settings, encryptedSettings. Required: functionId, integrationId, name, settings. Workspace must have the Functions feature enabled.

get_single_segment_insert_function_instance_by_id

Get an insert Function instance by id in Segment. Returns: id, name, integrationId, classId, enabled, createdAt, updatedAt, settings, encryptedSettings. Required: id. Workspace must have the Functions feature enabled.

update_a_segment_insert_function_instance_by_id

Update an insert Function instance by id in Segment. Returns: id, name, integrationId, classId, enabled, createdAt, updatedAt, settings, encryptedSettings. Required: id, settings. Workspace must have the Functions feature enabled.

delete_a_segment_insert_function_instance_by_id

Delete an insert Function instance by id in Segment. Returns: status. Required: id. Workspace must have the Functions feature enabled.

list_all_segment_invites

List invitations to join a Segment Workspace. Returns the list of invited email addresses.

create_a_segment_invite

Create invites for one or more users to join a Segment Workspace. Returns: emails (the addresses of the invited users). Required: invites.

segment_invites_bulk_delete

Delete invites from a Segment Workspace for the specified email addresses. Returns: status. Required: emails.

list_all_segment_labels

List all Labels in Segment. Labels grant users access to groups of resources such as Sources and Personas Spaces. Returns: key, value, description.

create_a_segment_label

Create a new Label in Segment. Returns: key, value, description. Requires label (an object with key, value, and description). Required: label.

segment_labels_bulk_delete

Delete a Label in Segment identified by its key and value. Returns: status. Required: key, value.

create_a_segment_live_plugins_create

Create or update a Live Plugin for a Segment source with the given code. Returns: id, sourceId, createdAt, createdBy, downloadURL, version, code. This endpoint is in Alpha. Required: source_id, sourceId, code.

list_all_segment_reverse_etl_models

List Reverse ETL models in Segment. Returns models with id, sourceId, name, description, enabled, query, and queryIdentifierColumn.

create_a_segment_reverse_etl_model

Create a Reverse ETL model in Segment for a warehouse source. Returns the created model with id, name, sourceId, enabled, query, and queryIdentifierColumn. Requires sourceId, name, description, enabled, query, and queryIdentifierColumn; optionally set a reverseETLSchedule (manual, periodic, specific_days, or cron strategy). Required: sourceId,…

get_single_segment_reverse_etl_model_by_id

Get a Reverse ETL model in Segment by id. Returns the model with id, sourceId, name, description, enabled, query, and queryIdentifierColumn. Required: id.

delete_a_segment_reverse_etl_model_by_id

Delete a Reverse ETL model in Segment by id. Returns a status field (SUCCESS on success). Required: id.

update_a_segment_reverse_etl_model_by_id

Update an existing Reverse ETL model in Segment by id. Returns the updated model with id, sourceId, name, description, enabled, query, and queryIdentifierColumn. Required: id.

create_a_segment_reverse_etl_sync

Trigger a manual sync for a Reverse ETL connection in Segment. Returns: startedAt, syncId. Required: sourceId, modelId, subscriptionId.

list_all_segment_space_profiles_warehouses

List Profiles Sync Warehouses configured for a Segment space. Returns each warehouse's id, space_id, workspaceId, enabled flag, metadata, and settings. Required: space_id, space_id.

create_a_segment_space_profiles_warehouse

Create a Profiles Sync Warehouse in a Segment space. Returns the created warehouse with id, space_id, workspaceId, enabled, metadata, and settings. Required: space_id, space_id, metadataId, settings.

update_a_segment_space_profiles_warehouse_by_id

Update an existing Profiles Sync Warehouse in a Segment space by id. Returns the updated warehouse including id, space_id, workspaceId, enabled, metadata, and settings. Required: id, space_id, space_id, warehouseId, settings.

delete_a_segment_space_profiles_warehouse_by_id

Delete a Profiles Sync Warehouse from a Segment space by id. Returns: status. Required: id, space_id, spaceId, warehouseId.

list_all_segment_api_calls_dailies

List daily cumulative workspace API call counts in Segment for a usage period. Returns: apiCalls, timestamp. 2021-02-01). Required: period.

delete_a_segment_audience_activation_by_id

Delete an activation from an audience in Segment. Returns: status. Required: id, space_id, audience_id, spaceId, audienceId.

get_single_segment_audience_activation_by_id

Get a single activation belonging to an audience in Segment. Returns: id, enabled, workspaceId, space_id, audience_id, connectionId, activationType, activationName, displayName, personalization, destinationMapping, performResync. Required: id, space_id, audience_id, space_id, audience_id.

update_a_segment_audience_activation_by_id

Update an activation for an audience in Segment, such as renaming it or toggling its enabled state. Returns: id, enabled, workspaceId, space_id, audience_id, connectionId, activationType, activationName, displayName, personalization, destinationMapping, performResync. Required: id, space_id, audience_id, space_id, audience_id.

list_all_segment_audience_activations

List all activations configured for an audience in Segment. Returns: id, enabled, workspaceId, space_id, audience_id, connectionId, activationType, activationName, displayName, personalization, destinationMapping, performResync. Required: space_id, audience_id, space_id, audience_id.

create_a_segment_audience_run

Force execute a run for a Segment audience. Returns the triggered run's id. Limited to Linked Audiences (audienceType = LINKED). Required: space_id, audience_id, spaceId, audienceId.

get_single_segment_catalog_destination_by_id

Get a single Destination catalog item in Segment by its id. Returns: id, name, description, slug, logos, options, status, categories, website, components, previousNames, supportedMethods, supportedPlatforms, supportedFeatures, actions, presets, contacts, partnerOwned, supportedRegions, regionEndpoints. Required: id.

list_all_segment_catalog_destinations

List all Destinations available in the Segment catalog. Returns each item's id, name, description, slug, logos, options, status, categories, supportedMethods, supportedPlatforms, and supportedFeatures. Defaults to 1000 per page.

list_all_segment_echos

Send a test echo through the Segment Public API to verify connectivity, versioning, and error handling. Returns: method, message, headers. Required: message.

create_a_segment_function_version

Restore an old Segment Function version as the latest version. Returns: id, author, code, isDeployed, createdAt, updatedAt, deployedAt. The Workspace must have the Functions feature enabled. Required: function_id, functionId, versionId.

get_single_segment_function_version_by_id

Get a single Segment Function version by id. Returns: id, author, code, isDeployed, createdAt, updatedAt, deployedAt. The Workspace must have the Functions feature enabled. Required: id, function_id, functionId, versionId.

list_all_segment_function_versions

List all versions of a Segment Function in a Workspace. Returns: id, author, code, isDeployed, createdAt, updatedAt, deployedAt. The Workspace must have the Functions feature enabled. Required: function_id, functionId.

segment_live_plugins_delete_codes_bulk_delete

Delete the Live Plugin code for a Segment source. Returns: status. Required: source_id.

list_all_segment_mtu_dailies

List daily cumulative MTU usage counts for a Segment workspace. Returns: dailyWorkspaceMTUUsage, pagination. Required: period (ISO-8601 start of the usage month, e.g. 2021-02-01).

create_a_segment_regulation

Create a Workspace-scoped regulation in Segment to delete and/or suppress end-user data by identifier. Returns: id, subjectType, createdAt, regulationType. Requires regulationType, subjectType, and subjectIds. Deletion and suppression run asynchronously. Required: regulationType, subjectType, subjectIds.

get_single_segment_regulation_by_id

Get a regulation from the Segment workspace by id. Returns: id, workspaceId, overallStatus, finishedAt, createdAt, streamStatus. Required: id.

list_all_segment_regulations

List Workspace-scoped regulations in Segment. Returns: id, subjectType, subjects, status, createdAt, regulationType, finishedAt. Only returns deletion requests from the past 90 days; older ones result in 404.

create_a_segment_regulations_source

Create a Source-scoped regulation in Segment to delete or suppress end-user data. Returns: regulateId. Runs asynchronously; Workspace-level suppression takes precedence over Source-level. Required: source_id, sourceId, regulationType, subjectType, subjectIds.

get_single_segment_regulations_source_by_id

List the regulations scoped to a Segment source. Returns: regulations, pagination. Required: id, sourceId. Only deletion requests from the past 90 days are retained; older ones return 404.

create_a_segment_source_writekey

Create a new Write Key for a Segment Source. Returns the updated Source object with its id, slug, name, workspaceId, enabled, and writeKeys (including the newly generated key). Required: source_id, sourceId.

delete_a_segment_source_writekey_by_id

Remove a write key from a Segment source. Returns: status. May generate a Source Modified event in the audit trail. Required: id, source_id, sourceId, writeKey.

list_all_segment_sources_dailies

List daily per-source MTU (monthly tracked users) usage snapshots in Segment for a usage month. Returns: dailyPerSourceMTUUsage, pagination. Required: period.

list_all_segment_sources_dailies_daily

List Segment's daily per-source API call usage, with one record per source per day. Returns: dailyPerSourceAPICallsUsage, pagination. Required: period.

segment_warehouse_advanced_sync_schedules_bulk_update

Replace the advanced sync schedule for a Segment warehouse. Returns the updated schedule: enabled plus a schedule object with per-hour sync times and timezone. Required: warehouse_id, enabled.

get_single_segment_warehouse_advanced_sync_schedule_by_id

Get the advanced sync schedule configured for a Segment warehouse by id. Returns: enabled, schedule. Required: id.

get_single_segment_warehouse_connection_state_by_id

Get the connection state of a Segment warehouse by id, verifying its warehouse connection settings. Returns: connectionState. Required: id.

create_a_segment_warehouses_validation

Validate input settings against a Segment warehouse, testing the connection before it is saved. Returns: status. Required: metadataId, settings.

list_all_segment_delivery_overview_failed_deliveries

Get Segment Delivery Overview metrics for events that failed to reach a Destination, bucketed by time. Returns: total, dataset, pagination. Required: sourceId, destinationConfigId, startTime, endTime, granularity.

list_all_segment_delivery_overview_failed_on_ingests

List events that failed on ingest from Segment's Delivery Overview. Returns: total, dataset, pagination. Granularity restricts the queryable time range (e.g. DAY allows up to 30 days). Required: sourceId, startTime, endTime, granularity.

list_all_segment_delivery_overview_filtered_at_destinations

List Segment Delivery Overview metrics for events that were filtered at destination, bucketed by the chosen time granularity. Returns: total, dataset, pagination. Granularity limits: minute 4h range/48h past, hour 14d/30d, day 30d/30d. Required: sourceId, destinationConfigId, startTime, endTime, granularity.

list_all_segment_delivery_overview_filtered_at_sources

List Segment Delivery Overview metrics for events that were filtered at Source. Returns: total, dataset, pagination. Required: sourceId, startTime, endTime, granularity. Granularity limits the queryable window: Minute max 4h, Hour max 14d, Day max 30d.

list_all_segment_delivery_overview_successful_deliveries

Get egress success metrics for events successfully delivered to a Segment destination. Returns: total, dataset, pagination. Required: sourceId, destinationConfigId, startTime, endTime, granularity. Query window is capped per granularity (DAY 30d, HOUR 14d, MINUTE 4h).

list_all_segment_events_volumes

List event volume time series for a Segment workspace, bucketed by the chosen granularity. Returns: path, query, result, pagination. Required: granularity, startTime, endTime.

create_a_segment_tracking_plan

Create a Tracking Plan in Segment. Returns: id, name, slug, description, type, updatedAt, createdAt. Requires name and type. The workspace needs the Protocols feature enabled. Required: name, type.

delete_a_segment_tracking_plan_by_id

Delete a Tracking Plan by id in Segment. Returns: status. Required: id. The workspace needs the Protocols feature enabled.

get_single_segment_tracking_plan_by_id

Get a Tracking Plan by id in Segment. Returns: id, name, slug, description, type, updatedAt, createdAt. Required: id. The workspace needs the Protocols feature enabled.

list_all_segment_tracking_plans

List Tracking Plans in Segment. Returns: id, name, slug, description, type, updatedAt, createdAt. The workspace needs the Protocols feature enabled.

update_a_segment_tracking_plan_by_id

Update a Tracking Plan in Segment by id. Returns the updated tracking plan including its id, name, slug, type, and updatedAt and createdAt timestamps. The workspace must have the Protocols feature enabled. Required: id.

create_a_segment_transformation

Create a new transformation in Segment to rename events, rename properties, or set property values. Returns the created transformation with id, name, sourceId, enabled, if, newEventName, propertyRenames, and propertyValueTransformations. Required: name, sourceId, enabled, if (FQL event matcher). Workspace must have Protocols enabled.

delete_a_segment_transformation_by_id

Delete a transformation in Segment by id. Returns: status. Required: id. Workspace must have Protocols enabled.

get_single_segment_transformation_by_id

Get a single transformation in Segment by id. Returns the transformation with id, name, sourceId, enabled, if, newEventName, propertyRenames, and propertyValueTransformations. Required: id. Workspace must have Protocols enabled.

list_all_segment_transformations

List all transformations in a Segment workspace. Returns transformations with id, name, sourceId, enabled, if, newEventName, propertyRenames, and propertyValueTransformations. Workspace must have Protocols enabled.

update_a_segment_transformation_by_id

Update an existing transformation in Segment by id. Returns the updated transformation with id, name, sourceId, enabled, if, propertyRenames, and propertyValueTransformations. Required: id. Workspace must have Protocols enabled.

create_a_segment_warehouse

Create a new Warehouse in Segment. Returns the created warehouse including its id, workspaceId, enabled status, metadata, and settings. Required: metadataId, settings.

delete_a_segment_warehouse_by_id

Delete an existing Warehouse in Segment by id. Returns: status. Required: id.

get_single_segment_warehouse_by_id

Get a single Warehouse in Segment by id. Returns: id, metadata, workspaceId, enabled, settings. Required: id.

list_all_segment_warehouses

List Warehouses in Segment. Returns each warehouse with its id, workspaceId, enabled status, metadata, and settings.

update_a_segment_warehouse_by_id

Update an existing Warehouse in Segment by id. Returns the updated warehouse including id, workspaceId, enabled status, metadata, and settings. Required: id, settings.

list_all_segment_audit_events

List Segment Audit Trail events, filterable by time range and resource. Returns: id, timestamp, type, actor, actorEmail, resourceId, resourceType, resourceName. The Audit Trail covers only the most recent 90 days.

list_all_segment_audience_audience_references

List audience references for a Segment audience in a space. Returns audience records including id, name, key, enabled, status, audienceType, and createdAt. Required: space_id, audience_id, spaceId.

get_single_segment_catalog_source_by_id

Get a single Source catalog item from Segment by its id. Returns: id, name, slug, description, logos, options, categories, isCloudEventSource, status, partnerOwned. Required: id.

list_all_segment_catalog_sources

List all available Sources in the Segment catalog. Returns: id, name, slug, description, logos, options, categories, isCloudEventSource, status, partnerOwned.

get_single_segment_catalog_warehouse_by_id

Get a single Warehouse catalog item from the Segment catalog by id. Returns: id, name, slug, description, logos, options. Required: id.

list_all_segment_catalog_warehouses

List all available Warehouses in the Segment catalog. Returns each catalog item with id, name, slug, description, logos, and options.

list_all_segment_connected_source_selective_syncs

List selective syncs for a Segment warehouse and connected source, showing which collections and properties are excluded from warehouse syncs. Returns each sync's sourceId, collection, warehouseId, and properties with enabled flags and type metadata. Required: warehouse_id, source_id, warehouseId, sourceId.

list_all_segment_credential_consumers

List the Warehouses and Sources that use a Credential in Segment. Returns: warehouses, warehousesPagination, sources, sourcesPagination. Required: credential_id, credential_id.

list_all_segment_destination_delivery_metrics

Get an event delivery metrics summary for a Segment destination. Returns: sourceId, destinationMetadataId, metrics. Granularity time-range limits: MINUTE 4h, HOUR 7d, DAY 14d. Required: destination_id, sourceId, destinationId.

delete_a_segment_destination_subscription_by_id

Delete a Destination subscription in Segment by id. Returns: status. Required: id, destination_id, destinationId.

get_single_segment_destination_subscription_by_id

Get a Destination subscription in Segment by id. Returns: id, name, actionId, actionSlug, destinationId, enabled, settings, trigger, modelId, reverseETLSchedule. Required: id, destination_id, destinationId.

update_a_segment_destination_subscription_by_id

Update a Destination subscription in Segment by id. Returns: id, name, actionId, actionSlug, destinationId, enabled, settings, trigger, modelId, reverseETLSchedule. Required: id, destination_id, destinationId, input.

list_all_segment_entitie_properties

List the properties defined for an entity in a Segment space. Returns: name, primaryKey, dataType, samples. Alpha endpoint with forward-only pagination. Required: space_id, entity_slug, spaceId, entitySlug.

list_all_segment_event_properties

List event properties tracked for a specific event in a Segment space. Returns: name, type, eventName, lastSeenAt, samples. Endpoint is in alpha. Required: space_id, event_name, spaceId, eventName.

list_all_segment_group_invites

List the email addresses of invitees to a Segment user group. Returns the invitee emails. Required: user_group_id, userGroupId.

segment_profiles_warehouse_selective_syncs_bulk_update

Update Selective Sync settings for a Segment Profiles Warehouse connection, enabling or disabling specific collections and properties. Returns: status. Required: space_id, warehouse_id.

list_all_segment_profiles_warehouse_selective_syncs

List Selective Syncs for a Segment Profiles Warehouse connection, returning the schema of collections and properties that sync from the warehouse. Returns: collection, warehouseId, enabled, properties. Required: space_id, warehouse_id, spaceId, warehouseId.

list_all_segment_propertie_sample_values

List sample values for an event property in a Segment space. Returns the array of sample values observed for that property (e.g. emails, numbers). This endpoint is in alpha. Required: space_id, event_name, property_name, propertyType, spaceId, entitySlug, propertyName.

list_all_segment_propertie_sample_values_sample_values

List sample values recorded for a property on an entity in a Segment space. Returns an array of observed values for the property (e.g. "a@example.com"). Required: space_id, entity_slug, property_name.

segment_source_settings_bulk_update

Update the schema settings of a Segment source: violation rules for track, group, and identify plus destinations for forwarding violations and blocked events. Returns: source_id, settings. Required: source_id. Protocols-specific updates are not applied when Protocols is not enabled.

list_all_segment_source_settings

Get the schema configuration settings of a Segment source: violation rules for track, group, and identify plus the destinations that receive forwarded violations and blocked events. Returns: source_id, settings. Required: source_id. Protocols-specific settings fall back to defaults when Protocols is not enabled.

get_single_segment_space_by_id

Get a Segment space (a Personas environment) by id. Returns: id, slug, name. Required: id. The workspace must have the Spaces feature enabled; this endpoint is in alpha.

list_all_segment_spaces

List Segment spaces (Personas environments). Returns: id, slug, name. The workspace must have the Spaces feature enabled; this endpoint is in alpha.

list_all_segment_spaces_events

List events tracked in a Segment space. Returns: name, type, lastSeenAt. Required: space_id.

segment_tracking_plan_rules_bulk_delete

Remove rules from a Segment tracking plan. Returns: status. Required: tracking_plan_id, rules.

list_all_segment_tracking_plan_rules

List the rules defined in a Segment tracking plan. Returns: type, key, jsonSchema, version, createdAt, updatedAt, deprecatedAt. Required: tracking_plan_id, trackingPlanId.

segment_tracking_plan_rules_bulk_update

Replace all rules in a Segment tracking plan with the given set. Returns: status. Required: tracking_plan_id, rules.

segment_tracking_plan_rules_partial_update

Update the rules of a Segment tracking plan; non-existent rules are added. Returns: status. Required: tracking_plan_id, rules.

list_all_segment_user_groups

List the Segment user groups the given user belongs to. Returns each group as a slim record with only id and name (member and permission details are not included). Required: user_id, user_id.

list_all_segment_connected_source_syncs

List syncs for a source connected to a Segment warehouse, returning an overview of each sync report. Returns: sourceId, start, end, status, duration, humanDuration, count, notices. Required: warehouse_id, source_id, warehouseId, sourceId.

list_all_segment_delivery_overview_successfully_receiveds

Get events successfully received by Segment from Delivery Overview. Returns: total, dataset, pagination. Required: sourceId, startTime, endTime, granularity. Granularity limits the queryable time range: minute up to 4h, hour up to 14d, day up to 30d.

get_single_segment_live_plugins_latest_by_id

Get the latest Live Plugins for a Segment Source by id. Returns: id, sourceId, createdAt, createdBy, downloadURL, version, code. Required: id. This Alpha endpoint requires the Workspace to have Live Plugins enabled.

list_all_segment_source_connected_destinations

List the Segment destinations connected to a source. Returns: id, name, enabled, metadata, sourceId, settings. Required: source_id, sourceId.

list_all_segment_source_connected_warehouses

List warehouses connected to a Segment source. Returns: id, metadata, workspaceId, enabled, settings. Required: source_id, source_id.

list_all_segment_space_entity_paths

List Segment entity paths for a space. Returns: id, entityName, pathName, entitySlug, relationshipSlugs, childRelationshipSlugs, parentRelationshipSlugPath. This endpoint is in alpha. Required: space_id, spaceId.

list_all_segment_space_traits

List Traits for a Segment Space. Returns: trait, type, lastSeenAt, samples. Alpha endpoint with forward-only pagination. Required: space_id, spaceId.

list_all_segment_supported_destinations

List the destinations that Segment has reviewed and validated for activation with an audience type, keyed by destination slug. Returns: name, slug, actions, facebook-custom-audiences, google-ads. The workspace must have the Audience feature enabled. Required: space_id, audience_type, spaceId, audienceType.

list_all_segment_suppressions

List suppressions in a Segment Workspace — the end users whose ongoing data collection is blocked, e.g. for GDPR/CCPA privacy requests. Returns: subjectType, subjectIds.

list_all_segment_syncs

List Reverse ETL sync statuses for a Segment model subscription. Returns each sync with its syncId, syncStatus, duration, sourceId, modelId, startedAt, finishedAt, extractPhase, and loadPhase. Required: model_id, subscription_id, modelId, subscriptionId.

list_all_segment_trait_sample_values

List sample values for a trait in a Segment Space. Returns an array of recorded sample values for the trait (e.g. email addresses). This endpoint is in alpha. Required: space_id, trait_key, spaceId, traitKey.

segment_warehouse_selective_syncs_bulk_update

Update Selective Sync settings for a Segment warehouse to stop syncing specific events or properties. Returns: status, warnings. Required: warehouse_id, syncOverrides.

list_all_segment_warehouse_syncs

List sync overview reports for every Source connected to a Segment Warehouse. Returns: sourceId, start, end, status, duration, humanDuration, count, notices. Required: warehouse_id, warehouseId.

create_a_segment_filters_preview

Preview a Segment Destination filter by simulating its application to a provided event payload. Returns: inputPayload, result. Required: filter, payload.

Why Truto

Why use Truto’s MCP server for Segment

Other MCP servers give you a static tool list for one app. Truto gives you a managed, multi-tenant MCP infrastructure across 950+ integrations.

01

Auto-generated, always up to date

Tools are dynamically generated from curated documentation — not hand-coded. As integrations evolve, tools stay current without manual maintenance.

02

Fine-grained access control

Scope each MCP server to read-only, write-only, specific methods, or tagged tool groups. Expose only what your AI agent needs — nothing more.

03

Multi-tenant by design

Each MCP server is scoped to a single connected account with its own credentials. The URL itself is the auth token — no shared secrets, no credential leaking across tenants.

04

Works with every MCP client

Standard JSON-RPC 2.0 protocol. Paste the URL into Claude, ChatGPT, Cursor, or any MCP-compatible agent framework — tools are discovered automatically.

05

Built-in auth, rate limits, and error handling

Tool calls execute through Truto’s proxy layer with automatic OAuth refresh, rate-limit handling, and normalized error responses. No raw API plumbing in your agent.

06

Expiring and auditable servers

Create time-limited MCP servers for contractors or automated workflows. Optional dual-auth requires both the URL and a Truto API token for high-security environments.

Unified APIs

Unified APIs for Segment

Skip writing code for every integration. Use Truto’s category-specific Unified APIs out of the box or customize the mappings with AI.

Unified User Directory API

Groups

Groups are a collection of users in the source application. In some applications, they might also be called Teams.

View Docs

Roles

The Role object represents a role of a User.

View Docs

Users

The User object represents a User.

View Docs

Workspaces

Workspaces represent concepts like teams, workspaces, projects in apps that support them

View Docs

How It Works

From zero to integrated

Start with Segment in a free sandbox, usually ready within one business day. No boilerplate, no maintenance burden.

01

Link your customer’s Segment account

Use Truto’s frontend SDK to connect your customer’s Segment account. We handle all OAuth and API key flows — you don’t need to create the OAuth app.

02

We handle authentication

Don’t spend time refreshing access tokens or figuring out secure storage. We handle it and inject credentials into every API request.

03

Call our API, we call Segment

Truto’s Proxy API is a 1-to-1 mapping of the Segment API. You call us, we call Segment, and pass the response back in the same cycle.

04

Unified response format

Every response follows a single format across all integrations. We translate Segment’s pagination into unified cursor-based pagination. Data is always in the result attribute.

FAQs

Common questions about Segment on Truto

Authentication, rate limits, data freshness, and everything else you need to know before you integrate.

What authentication method does the Segment integration use?

Segment's Public API uses OAuth 2.0 or personal access tokens for workspace-level operations. Truto handles the auth flow so your end-users can connect their Segment account without you managing token exchange or refresh logic.

Which Unified API does this integration map to?

Segment maps to Truto's Unified User Directory API, which provides standardized access to Groups, Roles, Users, and Workspaces. This lets you read and sync Segment's organizational structure using a consistent schema.

Are there specific Truto tools available for Segment today?

Segment tools are built on request. If you need specific API operations beyond what the Unified User Directory covers — such as Tracking API calls or Source/Destination management — contact Truto and they'll scope and build them for your use case.

How does Truto handle Segment's rate limits?

Truto manages rate limiting, retries, and pagination automatically. Segment's Public API enforces rate limits per workspace and per token; Truto respects these limits and queues requests so your integration doesn't hit throttling errors.

Can I use this integration to send Track or Identify events to Segment?

Segment's Tracking API (Track, Identify, Group, Page, Screen, Alias) is a core part of the product. While specific Truto tools for these methods are built on request, the underlying API fully supports pushing events programmatically using a workspace's Write Key.

What data can I read from Segment through the Unified User Directory API?

You can read workspace members (Users), their assigned roles (Roles), group associations (Groups), and workspace metadata (Workspaces). This gives you the organizational context needed to provision users and mirror team structures in your product.

Segment

Get Segment integrated into your app

Our team understands what it takes to make a Segment integration successful. A short, crisp 30 minute call with folks who understand the problem.