[Beta] Galileo Highlights API

Summary

Leverage the LogRocket Session Highlights API to receive a summary of a user’s recent interactions with your application, directly into the destination of your choice. This integration empowers your team to gain an immediate understanding of the customer’s journey to provide personalized assistance and address issues efficiently.

For example:

  • Post summaries of the user's recent behavior into their support ticket, to save time understanding and reproducing their issue
  • Update your outgoing sales or account management workflows to review short summaries of the user's recent experience before contacting them
  • Send summaries of the actions taken before a low NPS score into a Slack channel for added context when reviewing feedback

For an overview of Highlights and where to see them in your application, see here . This feature is in Beta. To request access to the beta, fill in this form.

Request Highlights

POST - https://api.logrocket.com/v1/orgs/<your_org_id>/apps/<your_app_id>/highlights/

Authentication

To make Highlights requests, you'll need your API key. You can find your API key in the dashboard under Settings > General Settings. Once you have your API key, you can include this as a header in requests to the LogRocket Highlights API as such:

curl https://api.logrocket.com/v1/orgs/<your_org_id>/apps/<your_app_id>/highlights/ \
  -H 'Authorization: token <your-api-key>' -d <request body>

Example request bodies

Request with userEmail

This will return summaries for the most recent 10 sessions for this user.

{
  "userEmail": "[email protected]",
  "webhookURL: "http://example.com?metadata=value"
}

Request including timeRange and userID

This will return summaries for up to 10 sessions in the time period specified.

{
  "timeRange": {
    "startMs": 1715481030000,
    "endMs": 1715567430000
  },
  "userID": "google-oauth2|abc123",
  "webhookURL: "http://example.com?metadata=value"
}
FieldOptional or RequiredDescription
timeRangeOptionalAn object containing startMsand endMstimestamps that define the period for sessions to be included in the highlights result. When a timeRange is provided, up to the most recent 10 sessions that occurred within that timeRange will be highlighted.
If timeRange is not provided, up to the most recent 10 sessions within the past 30 days will be included in the highlights result.
timeRange.startMsRequired when a timeRange is providedInteger epoch timestamp in milliseconds that defines the beginning of the requested timeRange. Must be a smaller value than endMs.
timeRange.endMsRequired when a timeRange is providedInteger epoch timestamp in milliseconds that defines the end of the requested timeRange. Must be a larger value than startMs.
userIDOne of userID or userEmail is requiredThe id of a user provided in LogRocket.identify() calls.
userEmailOne of userID or userEmail is requiredThe email of a user provided in LogRocket.identify() calls.
webhookURLRequiredA URL to which highlights results will be posted when ready.

Example Response body

Returns an id for the request.

{
    "id": "0cc12cad4b5b8b93760edf7fb5731ac66fbc8a766f9431df6c1e72b214ed6a65"
}

Result Payload

When highlights are ready, they will be posted to the provided webhookURL in the following format with a status of READY along with a requestID corresponding to the one returned from the original POST request.

Each session that has been highlighted will be included in the result. The result.highlights value is the summary of highlights across all included sessions. Highlights strings are returned with links to relevant portions of the session provided in Markdown format.

Only sessions within your org's retention period will be included in the result.

{
  "result": {
    "highlights": "The user [checks out their cart](https://app.logrocket.com/orgID/appID/s/5-14de95d6-d5b8-1a62-0a3a-4858caf874b0/0?t=1715564734801) and [encounters an error loading settings](https://app.logrocket.com/orgID/appID/s/5-3cde95d6-a5b8-4a62-9b3a-6aa834f8747c/0?t=1715564554783).",
    "sessions": [
      {
        "recordingID": "5-3cde95d6-a5b8-4a62-9b3a-6aa834f8747c",
        "sessionID": 0,
        "highlights": "The user [encounters an error loading settings](https://app.logrocket.com/orgID/appID/s/5-3cde95d6-a5b8-4a62-9b3a-6aa834f8747c/0?t=1715564554783) and [the issue persists](https://app.logrocket.com/orgID/appID/s/5-3cde95d6-a5b8-4a62-9b3a-6aa834f8747c/0?t=1715564734801)."
      },
      {
        "recordingID": "5-14de95d6-d5b8-1a62-0a3a-4858caf874b0",
        "sessionID": 0,
        "highlights": "The user [adds an item to their cart](https://app.logrocket.com/orgID/appID/s/5-14de95d6-d5b8-1a62-0a3a-4858caf874b0/0?t=1715564554783) and [proceeds to checkout](https://app.logrocket.com/orgID/appID/s/5-14de95d6-d5b8-1a62-0a3a-4858caf874b0/0?t=1715564734801)"
      }
    ]
  },
  "status": "READY",
  "appID": "orgID/appID",
  "requestID": "0cc12cad4b5b8b93760edf7fb5731ac66fbc8a766f9431df6c1e72b214ed6a65"
}

Failure result

If the session highlights fail to generate, a payload will be sent to the webhookURL with a FAILED status. In this case, the original POST request can be made again to retry the highlights process.

{
  "result": null,
  "status": "FAILED",
  "appID": "orgID/appID",
  "requestID": "0cc12cad4b5b8b93760edf7fb5731ac66fbc8a766f9431df6c1e72b214ed6a65"
}