Skip to main content
Clix currently exposes four built-in A2A skills. For production integrations, always specify the skill explicitly in a data part.

Canonical Request Pattern

{
  "jsonrpc": "2.0",
  "id": "req-1",
  "method": "SendMessage",
  "params": {
    "message": {
      "messageId": "msg-1",
      "role": "user",
      "parts": [
        {
          "data": {
            "skill": "create-user"
          }
        }
      ]
    }
  }
}
Clix can infer a skill from text-only requests, but that routing is best-effort. Use data.skill when correctness matters.

Skill Summary

SkillPurposeArtifact
create-userCreate or update a Clix user by project user IDuser-result
track-eventTrack a custom event for a deviceevent-result
send-push-notificationSend an app push notification to one targetdelivery-results
trigger-campaignCreate a campaign trigger with optional explicit targetstrigger-result

create-user

Creates or updates a user and writes a user-result artifact.

Parameters

FieldTypeRequiredDescription
skillstringYesMust be create-user
projectUserIdstringYesYour application user ID
propertiesobjectNoArbitrary user properties

Artifact

{
  "artifactId": "art-uuid",
  "name": "user-result",
  "parts": [
    {
      "data": {
        "userId": "uuid",
        "projectUserId": "user_123"
      }
    }
  ]
}

track-event

Tracks one event for one device and writes an event-result artifact.

Parameters

FieldTypeRequiredDescription
skillstringYesMust be track-event
eventNamestringYesEvent name such as purchase or sign_up
deviceIdstringYesDevice identifier
propertiesobjectNoCustom event properties

Artifact

{
  "artifactId": "art-uuid",
  "name": "event-result",
  "parts": [
    {
      "data": {
        "trackedEvents": 1.0,
        "eventName": "purchase"
      }
    }
  ]
}

send-push-notification

Sends one push notification request and writes a delivery-results artifact.

Parameters

FieldTypeRequiredDescription
skillstringYesMust be send-push-notification
deviceIdstringConditionallyOne valid target selector
userIdstringConditionallyOne valid target selector
projectUserIdstringConditionallyOne valid target selector
titlestringNoNotification title
bodystringNoNotification body
imageUrlstringNoRich notification image URL
landingUrlstringNoDeep link or URL opened on tap
At least one of deviceId, userId, or projectUserId must be present.

Artifact

{
  "artifactId": "art-uuid",
  "name": "delivery-results",
  "parts": [
    {
      "data": {
        "totalSent": 1.0,
        "results": [
          {
            "messageId": "msg-uuid",
            "status": "DELIVERY_RESULT_STATUS_SUCCEED"
          }
        ]
      }
    }
  ]
}
results[].status is the raw delivery result enum string produced by Clix, such as DELIVERY_RESULT_STATUS_SUCCEED or DELIVERY_RESULT_STATUS_FAILED.

trigger-campaign

Creates a trigger for an existing campaign and writes a trigger-result artifact.

Parameters

FieldTypeRequiredDescription
skillstringYesMust be trigger-campaign
campaignIdstringYesCampaign identifier
targetsarrayNoExplicit target list using deviceId, userId, or projectUserId
propertiesobjectNoTrigger properties
targets can be omitted or empty. In that case, Clix creates the trigger without an explicit target list.

Artifact

{
  "artifactId": "art-uuid",
  "name": "trigger-result",
  "parts": [
    {
      "data": {
        "triggerId": "trigger-uuid"
      }
    }
  ]
}

Example Payloads

create-user

{
  "skill": "create-user",
  "projectUserId": "user_123",
  "properties": {
    "email": "[email protected]",
    "plan": "premium"
  }
}

track-event

{
  "skill": "track-event",
  "eventName": "purchase",
  "deviceId": "device_abc",
  "properties": {
    "amount": 29.99,
    "currency": "USD"
  }
}

send-push-notification

{
  "skill": "send-push-notification",
  "projectUserId": "user_123",
  "title": "Welcome",
  "body": "Thanks for signing up.",
  "landingUrl": "myapp://welcome"
}

trigger-campaign

{
  "skill": "trigger-campaign",
  "campaignId": "camp_abc123",
  "targets": [
    {
      "projectUserId": "user_123"
    }
  ],
  "properties": {
    "promo_code": "WELCOME10"
  }
}