Skip to content

RudderStack

Send user events and profile updates from your RudderStack sources to JustAI using two Webhook destinations.

DestinationSendsWebhook URL
JustAI TrackUser events (track)https://ingest.justwords.ai/api/track/<org_slug>
JustAI IdentifyUser profile updates (identify)https://ingest.justwords.ai/api/identify/<org_slug>

Track sends user actions and their properties to JustAI. Identify sends user traits to update profiles. Route each event type to its matching destination.

Identify requires a nonempty userId string (not just whitespace). Anonymous-only Identify events with an anonymousId but no userId are unsupported: the endpoint returns 400 and no traits are applied. Filter these events out of the Identify destination. Track events can use either userId or anonymousId.

  • Your JustAI org slug — ask your JustAI contact if you’re unsure.
  • A JustAI API key for that organization. Use the key provided by your JustAI contact as the X-Api-Key header value in both destinations. Keep it private.

Repeat these steps for JustAI Track and JustAI Identify:

  1. Log in to the RudderStack dashboard.

  2. Navigate to “Directory”, select the “Destinations” tab, and choose “Webhook”.

    Choose the Webhook destination

  3. Name the destination JustAI Track or JustAI Identify.

  4. Select the source(s) whose events or profile updates should be sent to JustAI.

    Select the RudderStack sources

  5. Configure the Connection Settings:

    • Set Webhook URL to the matching URL in the table above, replacing <org_slug> with your organization’s slug.
    • Set URL Method to POST.
    • Add a header with key X-Api-Key and your JustAI API key as the value (<YOUR_JUSTAI_API_KEY> is a placeholder, not the key to enter).
    • Send the request body as JSON with Content-Type: application/json.
  6. Configure event routing so JustAI Track receives only track events and JustAI Identify receives only identify events with a nonempty userId string. Use a destination transformation to filter by event.type and, for Identify, require typeof event.userId === "string" && event.userId.trim().length > 0 before forwarding. Preserve the original event payload for matching events.

  7. Continue through the remaining steps and save the destination.

Check each destination separately using a test user:

  1. Send a track event from a connected source. Confirm successful delivery to JustAI Track in RudderStack, then confirm the event arrived in JustAI with your JustAI contact.
  2. Send an identify event with a nonempty userId and a profile trait update for the same user. Confirm successful delivery to JustAI Identify in RudderStack, then confirm the updated trait in JustAI with your JustAI contact.
  3. Confirm each event type was forwarded only to its matching destination, and that an anonymous-only identify event is filtered out before reaching JustAI.

Successful webhook delivery confirms that the request reached the endpoint; check the event and profile separately to verify the resulting data.

If you already send events to https://worker.justwords.ai/api/webhook/events/<org_slug>, update that destination to use the Track URL above and forward only track events. Add a separate Identify destination for profile updates, using the same organization’s API key.

After verifying both destinations, disable any duplicate legacy forwarding so the same events are not sent through both setups.