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.
Say what should happen.
The workflow builds itself.
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 mcp add --transport http livecontext https://livecontext.ai/mcp --header "X-API-Key: YOUR_API_KEY"[mcp_servers.livecontext]
url = "https://livecontext.ai/mcp"
[mcp_servers.livecontext.http_headers]
"X-API-Key" = "YOUR_API_KEY"{
"mcpServers": {
"livecontext": {
"type": "http",
"url": "https://livecontext.ai/mcp",
"headers": {
"X-API-Key": "YOUR_API_KEY"
}
}
}
}How to connect CleverTap
- Create your workspace
Sign up free. Nothing to install.
- 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.
- 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.
