FluxyChat

How-to Guides

Cross-channel identity and journey

Bind web, mobile, WhatsApp, SMS, and voice identities to one customer profile with journey history.

Unify the same user across web, mobile, WhatsApp, SMS, voice, email, Slack, and Discord with identity binding, profile merge, and journey history stored in CDP.

Configure from Customers (Cross-channel section) or the admin API.

Bind channel identity

Link a channel-specific user ID to a CDP customer profile:

curl -X POST "$WORKER_URL/admin/cross-channel/bindings" \
  -H "Authorization: Bearer $ADMIN_JWT" \
  -H "Content-Type: application/json" \
  -d '{
    "customerId": "cp_abc123",
    "channel": "whatsapp",
    "channelUserId": "+15551234567"
  }'

Supported channels: web, mobile, whatsapp, sms, voice, email, slack, discord.

Merge duplicate profiles

curl -X POST "$WORKER_URL/admin/cross-channel/merge" \
  -H "Authorization: Bearer $ADMIN_JWT" \
  -H "Content-Type: application/json" \
  -d '{
    "primaryCustomerId": "cp_primary",
    "secondaryCustomerId": "cp_secondary"
  }'

Bindings and journey events from the secondary profile are moved to the primary.

Journey history

Record and list touchpoints:

curl -X POST "$WORKER_URL/admin/cross-channel/journey" \
  -H "Authorization: Bearer $ADMIN_JWT" \
  -H "Content-Type: application/json" \
  -d '{
    "customerId": "cp_abc123",
    "channel": "web",
    "step": "checkout_started",
    "metadata": {"cartValue": 99}
  }'

curl "$WORKER_URL/admin/cross-channel/journey?customerId=cp_abc123" \
  -H "Authorization: Bearer $ADMIN_JWT"

Unified customer view

curl "$WORKER_URL/admin/cross-channel/customers/cp_abc123" \
  -H "Authorization: Bearer $ADMIN_JWT"

Returns profile, bindings, journey, and linked channels.

On this page