New260+ blocks and 240+ tools are now fully documented
DocumentationReferenceTool IntegrationsAnalytics & Monitoring
Tool

Amplitude

Track events, identify users, and query analytics data in Amplitude from workflows

Integrate Amplitude product analytics into your workflows. Track custom events, set user properties, search user records, retrieve event histories, and export raw data — all without leaving your workflow canvas.

Overview

PropertyValue
Typeamplitude
CategoryTool — Analytics
AuthAPI Key (HTTP V2 / Identify API) · Basic Auth — API Key + Secret Key (Export / Dashboard REST API)

Operations

OperationTool IDDescription
Send Eventamplitude_send_eventTrack an event in Amplitude using the HTTP V2 API
Identify Useramplitude_identify_userSet or update user properties using the Identify API
User Searchamplitude_user_searchLook up a user by User ID, Device ID, or Amplitude ID
Get User Activityamplitude_get_user_activityFetch the full event stream for a specific user by their Amplitude ID
Export Eventsamplitude_export_eventsExport raw event data for a date range using the Export REST API

Configuration

SettingTypeRequiredDescription
apiKeystringYes (all operations)Secret. Amplitude project API Key. Used for authentication in all operations.
secretKeystringYes (amplitude_user_search, amplitude_get_user_activity, amplitude_export_events)Secret. Amplitude Secret Key. Required alongside apiKey for Basic Auth on Dashboard REST and Export API endpoints.
userIdstringNo*External user identifier. Required for amplitude_send_event and amplitude_identify_user if deviceId is not provided.
deviceIdstringNo*Device identifier. Required for amplitude_send_event and amplitude_identify_user if userId is not provided.
eventTypestringYes (amplitude_send_event)Name of the event to track, e.g. page_view or purchase.
eventPropertiesstringNoJSON string of custom event properties, e.g. {"page": "homepage", "action": "click"}. Invalid JSON is silently dropped.
userPropertiesstringYes (amplitude_identify_user) / No (amplitude_send_event)JSON string of user properties. For amplitude_identify_user supports Amplitude operations: $set, $setOnce, $add, $append, $unset.
timestringNoEvent timestamp in milliseconds since Unix epoch. Defaults to server receipt time if omitted.
sessionIdstringNoSession start time in milliseconds since epoch, used to group events into a session.
insertIdstringNoUnique string for deduplication — Amplitude deduplicates on this field within a 7-day window.
appVersionstringNoApplication version string at the time of the event.
platformstringNoPlatform name, e.g. Web, iOS, or Android.
countrystringNoTwo-letter ISO country code, e.g. US.
languagestringNoLanguage code, e.g. en.
ipstringNoIP address used for geo-location enrichment.
pricestringNoItem price for revenue tracking (numeric string).
quantitystringNoQuantity of items purchased (numeric string).
revenuestringNoRevenue amount (numeric string).
productIdstringNoProduct identifier for revenue events.
revenueTypestringNoRevenue classification, e.g. purchase or refund.
userstringYes (amplitude_user_search)User ID, Device ID, or Amplitude ID to search for.
amplitudeIdstringYes (amplitude_get_user_activity)Amplitude internal numeric user ID (obtained from amplitude_user_search).
offsetstringNoPagination offset for amplitude_get_user_activity (default 0).
limitstringNoMaximum events to return for amplitude_get_user_activity (default and max 1000).
directionstringNoSort order for amplitude_get_user_activity: latest (default) or earliest.
startstringYes (amplitude_export_events)Export window start in YYYYMMDDTHH format, e.g. 20230101T00.
endstringYes (amplitude_export_events)Export window end in YYYYMMDDTHH format, e.g. 20230101T23.

* userId or deviceId — at least one must be provided for amplitude_send_event and amplitude_identify_user.

Outputs

amplitude_send_event

FieldTypeDescription
codenumberResponse code from Amplitude (200 on success)
eventsIngestednumberNumber of events accepted by Amplitude
payloadSizeBytesnumberSize of the request payload in bytes
serverUploadTimenumberServer-side upload timestamp (milliseconds since epoch)

amplitude_identify_user

FieldTypeDescription
codenumberHTTP status code of the response
messagestringResponse message body (optional)
FieldTypeDescription
matchesarrayList of matching user objects, each containing amplitudeId (number) and userId (string)
typestringMatch type returned by Amplitude (optional)

amplitude_get_user_activity

FieldTypeDescription
eventsarrayList of event objects, each with eventType, eventTime, eventProperties (json), userProperties (json), sessionId, platform, country, and city
userDatajsonUser metadata: userId, canonicalAmplitudeId, numEvents, numSessions, platform, country (optional)

amplitude_export_events

FieldTypeDescription
exportedAtstringISO 8601 timestamp of when the export request was made
startDatestringStart of the requested export range
endDatestringEnd of the requested export range
messagestringStatus message confirming the export was initiated

Example

[Starter] → [Amplitude: Send Event] → [Agent: analyze result]

When a user completes a purchase in your application, a webhook fires the Starter block with order details. The Amplitude block tracks a purchase event using {{AMPLITUDE_API_KEY}} as the API key, with eventType set to purchase, userId set to {{starter.userId}}, and revenue set to {{starter.orderTotal}}. The downstream Agent block then reads {{amplitude.eventsIngested}} to confirm ingestion and generates a follow-up notification.

Tips

  • API Key vs. Secret Key: amplitude_send_event and amplitude_identify_user only need the apiKey. The secretKey is additionally required for amplitude_user_search, amplitude_get_user_activity, and amplitude_export_events, which use HTTP Basic Auth (apiKey:secretKey).
  • User identification: Always provide either userId or deviceId (or both) when sending events or identifying users — Amplitude will reject requests that have neither.
  • Chaining search and activity: Use amplitude_user_search first to resolve a known user ID or device ID into an Amplitude ID, then feed {{amplitudeSearch.matches[0].amplitudeId}} into amplitude_get_user_activity to pull the full event stream.
  • Deduplication: Set a unique insertId (e.g., an order ID or idempotency key from upstream blocks) on amplitude_send_event to prevent duplicate events when a workflow retries.