---
title: Tealium API Integration on Truto
slug: tealium
category: Marketing Automation
canonical: "https://truto.one/integrations/detail/tealium/"
---

# Tealium API Integration on Truto



**Category:** Marketing Automation  
**Status:** Beta

## MCP-ready AI tools

Truto exposes 52 tools for Tealium that AI agents can call directly.

- **create_a_tealium_auth** — Exchange a username and API key for a Tealium JWT bearer token valid for 30 minutes. Returns: token, host. The username and key are supplied from the connection credentials. Required: account, profile, username, key.
- **create_a_tealium_auth_token** — Generate a long-lived bearer token for the Tealium SCIM API; the token expires after 90 days. Returns: access_token, token_type, expires_in, scope. Required: account, profile, username, key.
- **tealium_auth_tokens_revoke** — Revoke a Tealium long-lived token immediately; revocation is permanent and cannot be undone. Returns an empty 200 response on success, even if the token is already invalid. Use the credentials that generated the token. Required: token, account, profile, username, key.
- **create_a_tealium_event** — Send a single event to Tealium as a JSON payload. Returns an empty 200 response on success. Requires tealium_account, tealium_profile, and tealium_event; arbitrary attribute fields such as page_name are accepted alongside them. JSON keys must not contain periods. Required: tealium_account, tealium_profile, tealium_event.
- **list_all_tealium_events** — Send a single event to Tealium via GET query parameters, returning a 1x1 transparent tracking GIF (image/gif) instead of JSON for pixel-based implementations. Required: tealium_account, tealium_profile, tealium_event. Additional attribute key-value pairs can be appended to the query string.
- **tealium_events_bulk_create** — Send up to 10 events to Tealium in a single JSON request, applying a shared object of common fields (tealium_account, tealium_profile, tealium_visitor_id, etc.) to all of them. Returns an empty 200 response on success. Requires an events array; individual events can override or extend the shared fields. Required: shared, events.
- **create_a_tealium_integration_event** — Send a single server-side integration event to a Tealium data source for a given account and profile. Returns an empty 204 response on success. Required: account, profile, datasource_id, tealium_event.
- **tealium_visitors_search** — Get a Tealium visitor profile by looking up a Visitor ID attribute value. Returns: audiences, badges, attributes, currentVisit, dates, metrics, properties, flags. Required: account, profile, attributeId, attributeValue. Max 150 attributeId values in responseFilters.
- **list_all_tealium_privacy_visitors** — List the Visitor ID attributes available for a Tealium account and profile. Returns a map of numeric attribute IDs to their display names (e.g. 43: "Email Address", 57: "Tax ID Number") for use in privacy lookups. Required: account, profile.
- **get_single_tealium_privacy_visitor_by_id** — Get the processing status of a Tealium visitor deletion request. Returns a map keyed by the transaction id whose value is PENDING, SUCCESS, or FAILED. Deletion requests may take up to 30 days to complete. Required: id, account, profile.
- **tealium_privacy_visitors_search** — Retrieve a visitor's known data from Tealium for GDPR/CCPA lookup by Visitor ID attribute. Returns: audiences, badges, attributes, transactionId. Required: account, profile, attributeId, attributeValue.
- **tealium_privacy_visitors_bulk_delete** — Queue deletion of a Tealium visitor record for GDPR/CCPA erasure, covering all data for the visitor ID including stitched visitors; processing may take up to 30 days. Returns: transactionId. Required: account, profile, attributeId, attributeValue.
- **list_all_tealium_iq_profiles** — Get an iQ Tag Management profile in Tealium, including its configuration components and version history. Returns: account, profile, versionTitle, version, minorVersion, parentVersion, creation, customTargets, versionDetails, environmentVersions, dataCloudLinkedProfiles, libraryType, linkedProfiles, and 11 more. Required: account, profile.
- **tealium_iq_profiles_publish** — Publish a saved iQ Tag Management profile version to one or more targets. Returns: publishId, account, profile, versionId, operatorId, createdDate, publishTargets, title, revisionId, notes. Required: account, profile, versionId (format YYYYMMDDhhmm).
- **get_single_tealium_iq_profile_by_id** — Check the status of an iQ Tag Management profile publish request by polling by id. Returns: publishId, publishTargetEventResponses. Required: account, profile, id (the publishId returned by the publish or save-and-publish call). Rate-limited to one request per second per publish ID; faster polling returns 429.
- **tealium_iq_profiles_bulk_update** — Save changes to an iQ Tag Management profile via a JSON-Patch-style operationList (add/replace/remove on /extensions, /events, /variables, /tags, /loadRules; only JavaScript Code extensions are supported). Returns the saved profile (account, profile, version, minorVersion) and, when publish is true, the publish result with its status and data…
- **update_a_tealium_iq_tag_template_by_id** — Update a tag template in a Tealium iQ account profile. Returns the saved template version including versionTitle, saveType, notes, and templateData content. Required: id, account, profile, notes, templateData.content. To add or remove a tag template you must add or remove the tag.
- **list_all_tealium_scim_users** — List Tealium SCIM users in the account. Returns a SCIM ListResponse with totalResults, startIndex, itemsPerPage, and Resources (each user's id, userName, name, emails, active, meta). Filter by userName with filter using the eq operator. Max 100 per page.
- **get_single_tealium_scim_user_by_id** — Get a single Tealium SCIM user by id. Returns the full user object including id, userName, displayName, externalId, name (givenName, familyName), emails, active, and meta. Required: id.
- **create_a_tealium_scim_user** — Create a Tealium SCIM user in the account. Returns the created user object including id, userName, displayName, externalId, name, emails, active, and meta. Required: userName (an email address).
- **update_a_tealium_scim_user_by_id** — Replace a Tealium SCIM user by id with a full user payload (SCIM PUT). Returns the updated user object including id, userName, name, emails, active, and meta. Required: id, userName.
- **delete_a_tealium_scim_user_by_id** — Delete a Tealium SCIM user by id, removing their access to the account (a user on multiple accounts remains on the other accounts). Returns an empty 204 response on success. Required: id.
- **tealium_scim_users_partial_update** — Patch an existing SCIM user in Tealium with add, replace, or remove operations on attributes such as active, displayName, externalId, and name. Returns an empty 204 response on success. Requires user_id plus a patch body with schemas and Operations; userName cannot be changed.
- **list_all_tealium_scim_groups** — List all SCIM groups in the Tealium account, including built-in groups such as Standard User and Account Admins. Returns: schemas, totalResults, startIndex, itemsPerPage, Resources. Max 100 per page.
- **get_single_tealium_scim_group_by_id** — Get a single SCIM group by id from the Tealium account. Returns: schemas, id, displayName, members, meta. Required: id.
- **create_a_tealium_scim_group** — Create a custom group in the Tealium account, optionally adding members. New groups are created without permissions and built-in group names are reserved. Returns: schemas, id, displayName, members, meta. Required: displayName.
- **update_a_tealium_scim_group_by_id** — Update a SCIM group by id to rename a custom group or change its members. Built-in groups cannot be renamed. Returns: schemas, id, displayName, members, meta. Required: id, displayName.
- **delete_a_tealium_scim_group_by_id** — Delete a custom group by id from the Tealium account. Built-in groups cannot be deleted. Returns an empty 204 response on success. Required: id.
- **tealium_scim_groups_partial_update** — Patch a Tealium SCIM group to update its members or rename a custom group. Returns the updated group: id, displayName, members, meta. Required: group_id. Sends a SCIM PatchOp body with schemas and Operations (op, path, value); built-in groups cannot be renamed and SCIM cannot change group permissions.
- **list_all_tealium_scim_sync_logs** — Export Tealium SCIM sync audit log entries for an account. Returns: timestamp, action_type, resource_type, target_email, target_first_name, target_last_name, target_user_uuid, external_id, idp_source, http_status, outcome, correlation_id, account_name, error_message. Required: account. Up to 5000 entries per export (default 1000).
- **create_a_tealium_auth_v_2** — Exchange a Tealium iQ username and API key for a JWT bearer token that authenticates subsequent V2 API calls. Returns: token. Required: username, key. The token is valid for 30 minutes — reuse it until expiry instead of requesting a new one per call to avoid throttling.
- **create_a_tealium_hosted_data_layer** — Upload a hosted data layer object or JSON file to a Tealium account and profile. Returns an empty 200 response on success; changes may take up to one hour to reflect. Required: account, profile, datalayer_id, and a JSON body under 1MB whose keys contain no periods.
- **update_a_tealium_hosted_data_layer_by_id** — Update a hosted data layer object or JSON file in a Tealium account and profile. Returns an empty 200 response on success; changes may take up to one hour to reflect. Required: id, account, profile, and a JSON body under 1MB whose keys contain no periods.
- **delete_a_tealium_hosted_data_layer_by_id** — Delete a hosted data layer object or JSON file from a Tealium account and profile by id. Returns an empty 200 response on success. Required: id, account, profile.
- **get_single_tealium_hosted_data_layer_by_id** — Get file metadata for a hosted data layer object or JSON file in a Tealium account and profile; a 200 response confirms the upload succeeded. Returns: file, lastModified, size. Required: id, account, profile.
- **list_all_tealium_hosted_data_layers** — List up to 1,000 hosted data layer objects and JSON files in a Tealium account and profile. Returns: isTruncated, continuationToken, fileStatuses, badges. Required: account, profile.
- **tealium_hosted_data_layers_search** — Search failed hosted data layer uploads for a Tealium account and profile to identify files whose transfer failed and can be re-uploaded. Returns: account, profile, count, failedUploads. Required: account, profile. Up to 5,000 records, not paginated.
- **list_all_tealium_iq_revisions** — List Tealium iQ revisions for a profile. Returns an array of revision IDs (YYYYMMDDHHMM timestamps) in reverse chronological order, newest first. Required: account, profile.
- **get_single_tealium_iq_revision_by_id** — Get the details of a single Tealium iQ revision by id. Returns: account, profile, name, time_created, checksums, revision_id, comment, created_by, targets_published. Required: account, profile, id.
- **tealium_iq_revisions_search** — Download the Tealium iQ revision bundle (a .zip of the published JavaScript files) for a revision and target environment. Returns: account, profile, name, time_created, checksums, revision_id, comment, created_by, targets_published. Required: account, profile, revision_id, environment. Only works for the latest published revision.
- **tealium_omnichannel_files_search** — Search Tealium omnichannel file import statuses for files sharing a file prefix within a date range. Returns file status records with _id, account, profile, file metadata, and processing status history. Required: account, profile, filePrefix, startDate, endDate.
- **get_single_tealium_omnichannel_file_by_id** — Get the import status of a single Tealium omnichannel file by id (the file name, e.g. sales-transaction_2016feb4v50.csv). Returns: _id, account, created_at, file, node_id, profile, status. Required: account, profile, id.
- **tealium_omnichannel_files_get_count** — Count uploaded Tealium omnichannel files for a file prefix within a date range. Returns the aggregate count object with count. Required: account, profile, filePrefix, startDate, endDate. If the count exceeds 50, narrow the date range.
- **get_single_tealium_context_api_visitor_by_id** — Get visitor moments for a Tealium Context API visitor by anonymous visitor ID. Returns the visitor's audiences, badges, metrics, properties, flags, and dates. Required: account, profile, engine_id, id.
- **tealium_context_api_visitors_search** — Look up visitor moments in Tealium Context API by matching a Visitor ID attribute. Returns the visitor's audiences, badges, metrics, properties, flags, and dates. Required: account, profile, engine_id, attributeId, attributeValue.
- **tealium_visitor_data_enrichment_enrich_visitor** — Send real-time visitor data to Tealium EventStream as name/value pairs in the query string. Returns the visitor enrichment data object with metrics, dates, properties, flags, badges, and audiences. Required: tealium_account, tealium_profile, tealium_vid.
- **tealium_visitor_data_enrichment_enrich_visitor_json** — Send visitor data to the Tealium Collect endpoint from server-side systems by POSTing a JSON data object with an event type of view or link. Returns the visitor enrichment data object with metrics, dates, properties, flags, badges, and audiences. Required: account, profile.
- **get_single_tealium_dle_visitor_by_id** — Get a Tealium visitor's data layer enrichment profile. Returns: metrics, dates, flags, current_visit, badges, audiences. Required: account, profile, id (the visitor id from the utag_main v_id cookie). Returns 200 with an empty JSON body when the visitor has no active visit; 404 if data layer enrichment is disabled.
- **list_all_tealium_dle_profile_definitions** — Get the Data Layer Enrichment profile definition for a Tealium profile, i.e. the audience and badge definitions used to resolve ID-keys from the DLE Public API. Returns: audiences, badges. Required: account, profile. Returns 404 if data layer enrichment is disabled.
- **create_a_tealium_regional_event** — Send a single event to Tealium Collect's region-specific endpoint (regional host from the authentication API). Returns an acceptance acknowledgement with no documented response body. Requires a JSON event payload with tealium_account, tealium_profile, tealium_event, and tealium_datasource fields plus event attributes. Required: tealium_account, tealium_profile, tealium_event.
- **create_a_tealium_regional_bulk_event** — Send up to 10 Tealium Collect events in a single bulk request to a region-specific endpoint. Returns a 200 acceptance confirmation on success. Required: shared, events.
- **tealium_visitor_history_search** — Search for a Tealium historical visitor profile by Visitor ID attribute, optimized for faster response times by searching only completed visits. Returns the visitor record including attributes, audiences, badges, currentVisit, dates, metrics, properties, flags. Required: account, profile, attributeId, attributeValue.

## How it works

1. **Link your customer's Tealium account.** Use Truto's frontend SDK; we handle every OAuth and API key flow so you don't need to create the OAuth app.
2. **Authentication is automatic.** Truto refreshes tokens, stores credentials securely, and injects them into every API request.
3. **Call Truto's API to reach Tealium.** The Proxy API is a 1-to-1 mapping of the Tealium API.
4. **Get a unified response format.** Every response uses a single shape, with cursor-based pagination and data in the `result` field.

## Use cases

- **Enrich chat and support experiences with Tealium visitor profiles** — Customer support and chat SaaS platforms can let their users connect Tealium to pull real-time visitor badges, audiences, and attributes — so conversations can be routed and personalized based on behavioral signals the user already maintains in their CDP.
- **Push server-side billing and product events into Tealium EventStream** — Billing, subscription, and product-event SaaS tools can offer a native Tealium integration that streams events like renewals, payment failures, or feature usage directly into their customers' Tealium data layer, feeding downstream marketing automations without custom engineering.
- **Automate GDPR/CCPA erasure across the customer data stack** — Consent and privacy management SaaS platforms can trigger Tealium's bulk visitor deletion and poll request status, giving their customers a single switch to remove a user's footprint across every tool Tealium routes data to.
- **Power A/B tests and personalization with Tealium audiences** — Experimentation and personalization platforms can let marketers target variants to specific Tealium audiences and badges by looking up visitor enrichment data in real time — turning CDP segments into immediately usable targeting rules.
- **Provision Tealium users and groups from your IdP or HRIS** — Identity, HRIS, and IT automation SaaS tools can use Tealium's SCIM endpoints via Truto to automatically create, update, and deprovision users and group memberships as employees join, move, or leave.

## What you can build

- **Server-side event ingestion to EventStream** — Ship a native connector that streams single or bulk JSON events from your platform into Tealium, including integration-events tied to a specific data source ID.
- **Real-time visitor lookup and enrichment** — Fetch visitor profiles, badges, audiences, and attributes by known identifier using Tealium's visitor search, Context API, and Data Layer Enrichment endpoints to personalize in-app experiences.
- **Right-to-be-forgotten workflow** — Submit bulk privacy deletion requests to Tealium and poll each request by ID to surface Pending, Success, or Failed status back to your compliance UI.
- **Tealium iQ profile and tag management** — List iQ profiles and revisions, publish profiles, bulk update configurations, and update individual tag templates to let technical users manage their tag stack from inside your product.
- **SCIM-based user and group provisioning** — Create, update, patch, and delete Tealium SCIM users and groups, and surface sync logs so IT teams can audit provisioning activity end to end.
- **Hosted Data Layer and omnichannel file management** — Create and maintain hosted data layer objects, and search or inspect omnichannel file uploads so offline batch ingestion (CSV imports of POS, CRM, or call-center data) is observable from your app.

## FAQs

### How does authentication to Tealium work through Truto?

Tealium uses key-based authentication to issue short-lived auth tokens (v1 and v2 auth endpoints are supported, along with token revocation). Truto handles the token lifecycle so your end users only connect their Tealium account once and your product doesn't manage credential refresh.

### Can we send both single and bulk events into Tealium?

Yes. Truto exposes create_a_tealium_event for single events, tealium_events_bulk_create for batched payloads, create_a_tealium_integration_event for server-to-server events tied to a data source ID, and regional variants (create_a_tealium_regional_event and create_a_tealium_regional_bulk_event) for region-pinned deployments.

### How do we look up a visitor's audiences and badges in real time?

Use tealium_visitors_search or the Context API visitor endpoints to retrieve a profile by known identifier, and tealium_visitor_data_enrichment_enrich_visitor (or the JSON variant) for on-the-fly enrichment. Visitor history search is also available for historical event context.

### How are GDPR/CCPA deletion requests handled?

Submit erasure via tealium_privacy_visitors_bulk_delete, then poll get_single_tealium_privacy_visitor_by_id or use tealium_privacy_visitors_search to check status. Tealium deletions can take up to 30 days to fully propagate, so most integrations poll on a schedule and reflect Pending/Success/Failed back to the user.

### Does the integration support SCIM for user provisioning?

Yes. Truto exposes the full SCIM surface for Tealium — list, get, create, update, patch, and delete for both users and groups, plus list_all_tealium_scim_sync_logs for auditing provisioning events.

### Can we manage Tealium iQ configuration programmatically?

Yes. You can list and fetch iQ profiles and revisions, publish profiles, bulk-update profile configurations, and update individual tag templates by ID, which covers most common tag-management automation scenarios.

### Does Truto handle Tealium's regional data residency?

Tealium offers region-specific collection endpoints, and Truto exposes dedicated regional event tools (create_a_tealium_regional_event and create_a_tealium_regional_bulk_event) so you can route events to the correct region per customer.

## Related reading

- [Connect Tealium to ChatGPT: Sync Events & Manage Tag Revisions](https://truto.one/blog/connect-tealium-to-chatgpt-sync-events-manage-tag-revisions/) — Learn how to connect Tealium to ChatGPT using Truto's managed MCP server. Automate tag revisions, visitor lookups, GDPR deletions, and event streaming with AI agents.
- [Connect Tealium to Claude: Enrich Visitor Profiles & GDPR Compliance](https://truto.one/blog/connect-tealium-to-claude-enrich-visitor-profiles-gdpr-compliance/) — Learn how to connect Tealium to Claude using a managed MCP server. Execute GDPR deletion requests, enrich visitor profiles, and manage iQ tag revisions with AI.
- [Connect Tealium to AI Agents: Automate SCIM & Data Layer Hosting](https://truto.one/blog/connect-tealium-to-ai-agents-automate-scim-data-layer-hosting/) — Learn how to connect Tealium to AI agents using Truto's /tools endpoint. A step-by-step guide to automating SCIM, GDPR deletions, and data layer hosting.
