{
  "actionType": "created",
  "notificationSource": "huddle",
  "actionUser": {
    "clientGroupId": "7e2aed5bc102d06f740ab92afdf58e78f9d34d409555d19a35389309c80f4b4f",
    "color": "#19bcfe",
    "email": "john@trysnippyly.com",
    "groupId": "7e2aed5bc102d06f740ab92afdf58e78f9d34d409555d19a35389309c80f4b4f",
    "name": "John Smith",
    "plan": "free",
    "type": "signedIn",
    "userId": "1",
    "userSnippylyId": "7828918330450307"
  },
  "metadata": {
    "apiKey": "Emcfab4ysRXaC1CZ8hmG",
    "clientDocumentId": "12-4-24",
    "documentId": "1856907974154638",
    "locations": {
      "5638605251172150": {
        "location": {
          "id": "location1",
          "locationName": "Location 1"
        },
        "locationId": 5638605251172150,
        "pageInfo": {
          "baseUrl": "http://localhost:3000",
          "path": "/",
          "title": "Velt React Demo",
          "url": "http://localhost:3000/"
        }
      }
    },
    "pageInfo": {
      "baseUrl": "http://localhost:3000",
      "path": "/",
      "title": "Velt React Demo",
      "url": "http://localhost:3000/"
    }
  },
  "platform": "sdk"
}

The Huddle component will emit webhook notifications when a user creates or joins a group huddle.

To read more about how to setup webhooks with our SDK, click here.

List of Action Types

Action TypeDescription
createdWhen a User created a Huddle
joinWhen a User joins a Huddle

Processed vs Raw Formats

The Raw Format contains lot more metadata that might not be very useful for your notification processing.

In the Processed Format, we will automatically populate who should get what type of notification so that you dont have to write that logic. Eg: If someone was previously tagged on a comment, then they should receive an update notification vs if someone if tagged in this thread, then they should receive a notification that they were tagged in a comment. We recommend using this so that you dont have to maintain the logic on your end.

Processed format

FieldTypeRequiredDescription
fromUserObjectYesThe user initiating the action
projectNamestringYesName of the project
projectUrlstringYesURL of the project
actionTypestringYesType of action: created or joined
notificationSourcestringYesSource of notification: huddle
documentIdstringYesID of the document related to the action
clientDocumentIdstringYesID of the client document
idstringYesID of the action
timestampnumberYesTimestamp of the action
actionUserUserObjectYesThe user who performed the action

Raw format

FieldTypeRequiredDescription
actionTypestringYesType of action: created or joined
notificationSourcestringYesSource of notification: huddle
actionUserUserObjectYesThe user who performed the action
metadataobjectYesMetadata related to the action
platformsdkYesPlatform where the action occurred

Raw Format:

{
    "actionType": "string", // created | joined
    "notificationSource": "huddle",
    "actionUser": {
        // UserObject
    },
    "metadata": {
        "apiKey": "string",
        "clientDocumentId": "string",
        "documentId": "string",
        "pageInfo": {
        "baseUrl": "string",
        "path": "string",
        "title": "string",
        "url": "string"
        }
    },
    "platform": "sdk"
}

Processed Format:

{
    "from": {
        // UserObject
    },
    "projectName": "string",
    "projectUrl": "string",
    "actionType": "string", // created | joined
    "notificationSource": "huddle",
    "documentId": "string",
    "clientDocumentId": "string",
    "id": "string",
    "timestamp": 1234567890,
    "actionUser": {
        // UserObject
    },
}