Integration

CleverTap integration

CleverTap is a customer engagement and mobile marketing platform. Upload user profiles and events, read one user profile, delete or demerge profiles, set email, SMS and WhatsApp subscription status, disassociate phone numbers, count events and profiles, get top property values, trends and real-time active users (long queries answer partial with a req_id to poll), list sent messages with their metrics, and create, list, report on and stop campaigns, which send real push, email, SMS or WhatsApp messages. Profiles and events are personal data. Left out: the cursor-paged event and profile exports (their cursors come back percent-encoded and would be encoded twice), device token upload, targeting users by identity, catalogs, content blocks, remote config and promo wallets. Authentication is the Account ID and a passcode (Settings > Passcodes) in the X-CleverTap-Account-Id and X-CleverTap-Passcode headers, plus the account's region.

Ask it in chat

Say what should happen.
The workflow builds itself.

When this happens, do that in CleverTap.Built from the 20 CleverTap tools below, on the connection you add once.

What you can do with CleverTap

Each of these is one operation on one endpoint, available both as a workflow step and as a tool an AI agent can call on its own. Nothing bundles several operations into one action, so what a run did stays readable afterwards.

Most endpoints run on the free plan. A few, mainly the ones that publish on your behalf, need a paid plan.

Profile, 5 operations

  • count_profilesCount profilesPOSTCounts the user profiles that performed an event between two dates, optionally filtered on event properties. Answers success with count, or partial with a req_id for get_profile_count_result.
  • delete_user_profilesDelete user profilesPOSTDeletes user profiles, up to 100 per call, by your identities or by CleverTap ids (not both). The deletion is queued; it cannot be undone.
  • demerge_user_profilesDemerge user profilesPOSTSplits profiles that were merged because several identities pointed to one user back into standalone profiles, up to 100 identities per call. The request is queued.
  • get_profile_count_resultGet profile count resultGETReturns the outcome of a count_profiles query that answered partial: success with count, partial again (wait about 30 seconds and retry), or fail with an error.
  • get_user_profileGet user profileGETReturns one user profile (personal data) found by email, identity or objectId: name, email, custom properties with messaging opt-ins, lifetime event counts and the user's platforms (devices).

Event, 2 operations

  • count_eventsCount eventsPOSTCounts the occurrences of an event between two dates, optionally filtered on event properties. Answers status success with count, or partial with a req_id to pass to get_event_count_result.
  • get_event_count_resultGet event count resultGETReturns the outcome of a count_events query that answered partial: success with count, partial again (wait about 30 seconds and retry), or fail with an error.

Top, 2 operations

  • get_top_property_countsGet top property countsPOSTReturns, for an event in a date range, the most (or least) frequent values of chosen properties with their counts, one breakdown per key of groups. May answer partial with a req_id.
  • get_top_property_counts_resultGet top property counts resultGETReturns the outcome of a get_top_property_counts query that answered partial: the breakdowns, partial again (wait about 30 seconds and retry), or fail.

Trend, 2 operations

  • get_event_trendsGet event trendsPOSTReturns daily, weekly or monthly counts (or sums of a property, or unique users) of an event over up to one year, one series per key of groups. May answer partial with a req_id.
  • get_event_trends_resultGet event trends resultGETReturns the outcome of a get_event_trends query that answered partial: the series, partial again (wait about 30 seconds and retry), or fail.

Create, 1 operation

  • create_campaignCreate campaignPOSTCreates and sends a campaign (push, email, SMS, WhatsApp...) to the users matching where or a segment, now or at a set time: real messages to real people. estimate_only returns the reach only; draft saves it unsent.

Disassociate, 1 operation

  • disassociate_phone_numbersDisassociate phone numbersPOSTDisconnects phone numbers (up to 1000) from the profiles they belong to, for a number given to a new user. processed says how many were accepted. dryRun=1 only validates.

List, 1 operation

  • list_campaignsList campaignsPOSTLists the campaigns created through the API whose scheduled start falls between two dates, with id, name, schedule and status.

Now, 1 operation

  • get_realtime_countsGet realtime countsPOSTCounts the users active in your app over the past five minutes. Set user_type, session_source, browser, os or device to true for a breakdown by that dimension; for the total alone, pass one of them as false.

Report, 1 operation

  • get_message_reportsGet message reportsPOSTLists the messages (campaigns) sent between two dates with their sent, viewed and clicked counts, filtered by channel, delivery type, status, message type or label.

Result, 1 operation

  • get_campaign_reportGet campaign reportPOSTReturns the sent and clicked counts of one campaign, by id. Only a completed campaign has a report; otherwise CleverTap answers with an error.

Stop, 1 operation

  • stop_campaignStop campaignPOSTStops a scheduled or running campaign by id: deliveries not yet made are cancelled, messages already sent are not recalled. A stopped or completed campaign is left as it is.

Subscribe, 1 operation

  • set_subscription_statusSet subscription statusPOSTUnsubscribes or resubscribes phone numbers, WhatsApp numbers and email addresses (up to 1000 per call), for every user sharing them. An unsubscribed address receives no messages. dryRun=1 only validates.

Upload, 1 operation

  • upload_recordsUpload recordsPOSTCreates or updates user profiles and records events in CleverTap, up to 1000 records per call; a profile with an unknown identity is created. Rejected records come back in unprocessed. dryRun=1 only validates.

Use CleverTap from Claude Code, Cursor or Codex

Connect CleverTap in LiveContext, create an API key in Settings, then add the LiveContext MCP server to your client. Its CleverTap operations become tools the client can call, next to every other integration you connected.

Claude Code
claude mcp add --transport http livecontext https://livecontext.ai/mcp --header "X-API-Key: YOUR_API_KEY"
Codex (~/.codex/config.toml)
[mcp_servers.livecontext]
url = "https://livecontext.ai/mcp"

[mcp_servers.livecontext.http_headers]
"X-API-Key" = "YOUR_API_KEY"
Cursor, Claude Desktop and other JSON configs
{
  "mcpServers": {
    "livecontext": {
      "type": "http",
      "url": "https://livecontext.ai/mcp",
      "headers": {
        "X-API-Key": "YOUR_API_KEY"
      }
    }
  }
}

Set up the MCP server step by step

How to connect CleverTap

  1. Create your workspace

    Sign up free. Nothing to install.

  2. Connect CleverTap once

    Add your CleverTap connection in Settings. Every tool from this integration reuses it, and secrets are encrypted at rest and visible only to you.

  3. Describe the job in chat

    The workflow builds itself in front of you and picks the endpoints it needs. Drag the steps yourself on the canvas whenever you would rather be explicit.

CleverTap integration FAQ

What can you do with the CleverTap integration?

LiveContext exposes 20 operations on CleverTap, covering profile, event, top and trend.

Popular integrations

Browse the whole catalog