Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 18 additions & 1 deletion apps/docs/components/icons.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -1518,12 +1518,12 @@ export function InputIcon(props: SVGProps<SVGSVGElement>) {
export function StartIcon(props: SVGProps<SVGSVGElement>) {
return (
<svg
{...props}
width='26'
height='16'
viewBox='0 0 26 16'
fill='none'
xmlns='http://www.w3.org/2000/svg'
{...props}
>
<path
d='M7.8 13C9.23 13 10.45 12.49 11.47 11.47C12.49 10.45 13 9.23 13 7.8C13 6.37 12.49 5.15 11.47 4.13C10.45 3.11 9.23 2.6 7.8 2.6C6.37 2.6 5.15 3.11 4.13 4.13C3.11 5.15 2.6 6.37 2.6 7.8C2.6 9.23 3.11 10.45 4.13 11.47C5.15 12.49 6.37 13 7.8 13ZM7.8 15.6C5.63 15.6 3.79 14.84 2.28 13.33C0.76 11.81 0 9.97 0 7.8C0 5.63 0.76 3.79 2.28 2.28C3.79 0.76 5.63 0 7.8 0C9.75 0 11.45 0.62 12.89 1.85C14.33 3.09 15.2 4.64 15.5 6.5H24.7C25.07 6.5 25.38 6.62 25.63 6.87C25.88 7.12 26 7.43 26 7.8C26 8.17 25.87 8.48 25.63 8.73C25.38 8.98 25.07 9.1 24.7 9.1H15.5C15.2 10.96 14.33 12.51 12.89 13.75C11.44 14.98 9.75 15.6 7.8 15.6Z'
Expand Down Expand Up @@ -9035,6 +9035,23 @@ export function LogfireIcon(props: SVGProps<SVGSVGElement>) {
)
}

export function LogRocketIcon(props: SVGProps<SVGSVGElement>) {
return (
<svg {...props} viewBox='0 0 19 28' fill='none' role='img' xmlns='http://www.w3.org/2000/svg'>
<path
fill='currentColor'
fillRule='evenodd'
clipRule='evenodd'
d='M6.066 3.156A10.53 10.53 0 0 1 9.122 0a10.294 10.294 0 0 1 3.016 3.094 15.59 15.59 0 0 1 2.93 9.777c.637.513 1.293 1.006 1.918 1.53a3.46 3.46 0 0 1 1.104 3.189c-.302 1.457-.592 2.918-.911 4.372a1.214 1.214 0 0 1-1.848.61c-1.027-.825-2.027-1.678-3.05-2.504a4.684 4.684 0 0 1-2.891 1.255 4.678 4.678 0 0 1-3.385-1.22c-.735.541-1.419 1.191-2.138 1.772-.315.31-.666.58-1.046.806a1.215 1.215 0 0 1-1.603-.785c-.329-1.422-.672-2.839-.99-4.263a3.453 3.453 0 0 1 1.163-3.321c.559-.45 1.125-.893 1.694-1.331.159-.08.08-.261.087-.401a15.615 15.615 0 0 1 2.9-9.42m1.007 4.402a2.395 2.395 0 0 0 .21 3.173 2.636 2.636 0 0 0 3.603.075 2.398 2.398 0 0 0 .636-2.634 2.55 2.55 0 0 0-2.14-1.59 2.6 2.6 0 0 0-2.31.974'
/>
<path
fill='currentColor'
d='M5.712 23.082a.605.605 0 0 1 .896-.485 5.778 5.778 0 0 0 5.03 0 .61.61 0 0 1 .896.45c.005.89.005 1.78 0 2.67a.602.602 0 0 1-.94.436c-.267-.226-.508-.48-.764-.719-.407.762-.789 1.534-1.199 2.294a.61.61 0 0 1-1.012.006c-.41-.761-.79-1.538-1.206-2.299-.253.24-.494.494-.761.72a.603.603 0 0 1-.94-.442c-.007-.878 0-1.756 0-2.634M9.102 10.259a1.22 1.22 0 0 0 1.248-1.192v-.008a1.221 1.221 0 0 0-1.24-1.2h-.008A1.22 1.22 0 0 0 7.855 9.05v.008a1.22 1.22 0 0 0 1.24 1.2h.007Z'
/>
</svg>
)
}

export function SmartleadIcon(props: SVGProps<SVGSVGElement>) {
return (
<svg
Expand Down
7 changes: 4 additions & 3 deletions apps/docs/components/ui/icon-mapping.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
// Maps block types to their icon component references

import type { ComponentType, SVGProps } from 'react'
import { Library } from '@sim/emcn/icons'
import { Library, Rocket } from '@sim/emcn/icons'
import {
A2AIcon,
AgentMailIcon,
Expand Down Expand Up @@ -136,6 +136,7 @@ import {
LinkupIcon,
LinqIcon,
LogfireIcon,
LogRocketIcon,
LoopsIcon,
LumaIcon,
MailchimpIcon,
Expand Down Expand Up @@ -205,7 +206,6 @@ import {
ServiceNowIcon,
SftpIcon,
ShopifyIcon,
SimDeploymentsIcon,
SimilarwebIcon,
SimTriggerIcon,
SixtyfourIcon,
Expand Down Expand Up @@ -309,7 +309,7 @@ export const blockTypeToIconMap: Record<string, IconComponent> = {
datadog: DatadogIcon,
datagma: DatagmaIcon,
daytona: DaytonaIcon,
deployments: SimDeploymentsIcon,
deployments: Rocket,
devin: DevinIcon,
discord: DiscordIcon,
docusign: DocuSignIcon,
Expand Down Expand Up @@ -414,6 +414,7 @@ export const blockTypeToIconMap: Record<string, IconComponent> = {
linkup: LinkupIcon,
linq: LinqIcon,
logfire: LogfireIcon,
logrocket: LogRocketIcon,
logs: Library,
logs_v2: Library,
loops: LoopsIcon,
Expand Down
191 changes: 191 additions & 0 deletions apps/docs/content/docs/en/integrations/logrocket.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,191 @@
---
title: LogRocket
description: Summarize sessions, manage users, and tag releases in LogRocket
---

import { BlockInfoCard } from "@/components/ui/block-info-card"

<BlockInfoCard
type="logrocket"
color="#764ABC"
/>

{/* MANUAL-CONTENT-START:intro */}
[LogRocket](https://logrocket.com/) is a session replay and product analytics platform for frontend applications. It records what users actually did — clicks, navigation, network requests, console output, and application state — so teams can see the exact path that led to a bug, a drop-off, or a support ticket instead of asking the customer to reproduce it.

With LogRocket, you can:

- **Summarize sessions with AI**: Galileo Highlights reads a user's sessions and answers a plain-English question about them, returning a markdown summary plus per-session breakdowns.
- **Identify users**: Attach names, emails, and custom traits to a user so sessions can be segmented by plan, lifecycle stage, or account value.
- **Export session data**: Pull download URLs for JSON Lines session exports and load them into a warehouse.
- **Audit session access**: Page through the audit log to see who viewed which sessions and when.
- **Tag releases**: Register a deployed version so uploaded source maps decode its stack traces.

Sim's LogRocket integration lets your agents run these operations programmatically. Use it to enrich a support ticket with a session summary, turn a vague bug report into reproduction steps, keep user traits in sync with your CRM, or register a release as part of a deploy workflow.

Highlights requests are asynchronous: **Request Highlights** returns an ID and **Get Highlights** reports `PENDING` until generation finishes (typically one to three minutes), then `READY` or `FAILED`. Poll it rather than expecting the summary immediately.

LogRocket has no REST API for querying sessions, issues, or metrics directly — that data is available through their [MCP server](https://docs.logrocket.com/docs/mcp) at `https://mcp.logrocket.com/mcp`, which you can add to Sim as an MCP server connection alongside this block.
{/* MANUAL-CONTENT-END */}


## Usage Instructions

Integrate LogRocket into your workflow to request AI session highlights for a user, poll for the result, list exported session files, read the audit log, create or update user profiles, and register releases so source maps decode their stack traces.



## Actions

### LogRocket Request Highlights

Start a Galileo session highlights job for a user. Returns a request ID to poll with LogRocket's Get Highlights operation.

#### Input

| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `apiKey` | string | Yes | LogRocket API key |
| `orgId` | string | Yes | LogRocket organization ID |
| `appId` | string | Yes | LogRocket project \(app\) ID |
| `apiHost` | string | No | API host override for Private Cloud deployments |
| `userEmail` | string | No | Email of the user to summarize. Required if no user ID is given. |
| `userID` | string | No | ID of the user to summarize. Required if no email is given. |
| `question` | string | No | Question to focus the highlights on |
| `startMs` | string | No | Start of the session window, in milliseconds since epoch |
| `endMs` | string | No | End of the session window, in milliseconds since epoch |
| `webhookURL` | string | No | URL notified when the highlights job finishes |

#### Output

| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `id` | string | Request ID used to retrieve the highlights result |

### LogRocket Get Highlights

Retrieve the result of a Galileo session highlights request. Status is PENDING until generation finishes, then READY or FAILED.

#### Input

| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `apiKey` | string | Yes | LogRocket API key |
| `orgId` | string | Yes | LogRocket organization ID |
| `appId` | string | Yes | LogRocket project \(app\) ID |
| `apiHost` | string | No | API host override for Private Cloud deployments |
| `id` | string | Yes | Request ID returned by the Request Highlights operation |

#### Output

| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `status` | string | Job status: PENDING, READY, or FAILED |
| `requestID` | string | ID of the highlights request |
| `appID` | string | LogRocket project the request belongs to |
| `highlights` | string | Markdown summary across the matched sessions. Present when status is READY. |
| `sessions` | array | Per-session highlights |
| ↳ `recordingID` | string | LogRocket recording ID |
| ↳ `sessionID` | number | Session number within the recording |
| ↳ `highlights` | string | Highlights for this session |

### LogRocket List Exported Sessions

List exported session files from the LogRocket Data Export API. Returns download URLs for JSON Lines exports, oldest first, plus a cursor for the next page.

#### Input

| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `apiKey` | string | Yes | LogRocket API key |
| `orgId` | string | Yes | LogRocket organization ID |
| `appId` | string | Yes | LogRocket project \(app\) ID |
| `apiHost` | string | No | API host override for Private Cloud deployments |
| `cursor` | string | No | Cursor from a previous page, used to fetch newer sessions |
| `limit` | string | No | Results per page. Defaults to 10, maximum 100. |
| `date` | string | No | Unix timestamp in milliseconds to start listing from |

#### Output

| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `sessions` | array | Exported session files |
| ↳ `url` | string | Download URL for the JSON Lines export file |
| `cursor` | string | Opaque cursor for the next page of results |

### LogRocket Get Audit Logs

Export audit log entries from LogRocket, recording who viewed sessions and what actions were taken. Paginated with a cursor.

#### Input

| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `apiKey` | string | Yes | LogRocket API key |
| `orgId` | string | Yes | LogRocket organization ID |
| `appId` | string | Yes | LogRocket project \(app\) ID |
| `apiHost` | string | No | API host override for Private Cloud deployments |
| `limit` | string | No | Number of audit log records to return |
| `cursor` | string | No | Cursor from a previous page, used to fetch the next page |

#### Output

| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `logs` | array | Audit log entries |
| ↳ `time` | string | Formatted timestamp of the action |
| ↳ `createdDate` | string | ISO 8601 timestamp of the action |
| ↳ `user` | string | Email or system ID of the actor |
| ↳ `action` | string | Action taken, e.g. Viewed session |
| ↳ `description` | string | Action details, e.g. the session ID |
| `cursor` | string | Opaque cursor for the next page of results |
| `hasNext` | boolean | Whether more audit logs exist beyond this page |

### LogRocket Identify User

Create or update a LogRocket user profile with demographic, financial, and engagement traits.

#### Input

| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `apiKey` | string | Yes | LogRocket API key |
| `orgId` | string | Yes | LogRocket organization ID |
| `appId` | string | Yes | LogRocket project \(app\) ID |
| `apiHost` | string | No | API host override for Private Cloud deployments |
| `userId` | string | Yes | ID of the user to create or update |
| `name` | string | No | Display name of the user. Maximum 1024 characters. |
| `email` | string | No | Email of the user. Maximum 1024 characters. |
| `timestamp` | string | No | Unix timestamp in milliseconds describing when the submitted data was true |
| `traits` | string | No | JSON object of custom traits. Each key and value is limited to 1024 characters and stored as a string. |

#### Output

| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `userID` | string | ID of the created or updated user |
| `name` | string | Display name stored on the profile |
| `email` | string | Email stored on the profile |
| `traits` | json | Custom traits stored on the profile, with every value coerced to a string |

### LogRocket Create Release

Register a release version in LogRocket so uploaded source maps can decode stack traces for it. Fails with a conflict if the version already exists.

#### Input

| Parameter | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
| `apiKey` | string | Yes | LogRocket API key |
| `orgId` | string | Yes | LogRocket organization ID |
| `appId` | string | Yes | LogRocket project \(app\) ID |
| `apiHost` | string | No | API host override for Private Cloud deployments |
| `version` | string | Yes | Release version to register, e.g. 1.2.3 or a commit SHA |

#### Output

| Parameter | Type | Description |
| --------- | ---- | ----------- |
| `version` | string | Release version that was registered |


1 change: 1 addition & 0 deletions apps/docs/content/docs/en/integrations/meta.json
Original file line number Diff line number Diff line change
Expand Up @@ -143,6 +143,7 @@
"linkup",
"linq",
"logfire",
"logrocket",
"logs",
"loops",
"luma",
Expand Down
Loading
Loading