Skip to main content
Integrations let a workspace push what Replayfy sees — a specific recording, a crash group, or a fired alert — into the tools your team already lives in. File an issue from a session in one click, or route an anomaly signal straight to your on-call channel with a link back to the exact moment it happened. Every connection is scoped to a single workspace. When you connect Slack (or Linear, or Jira…), you authorize your workspace’s account — Replayfy never uses a shared or global key, so a company with several workspaces keeps each one’s tools cleanly isolated.
Find everything under Settings → Integrations at app.replayfy.app. You need the Member role or higher to connect, manage, or disconnect an integration.

How integrations work

There are two ways an integration connects, depending on the partner:
  • OAuth — you’re sent to the partner (Slack, Linear, Jira, GitHub, Lark, Sentry), you approve access to the account and scopes shown, and you land back in Replayfy connected. A signed, single-use state binds the round-trip to your workspace, so the callback can only ever connect your workspace.
  • A short form — for partners that hand you a credential to paste instead of an OAuth flow: PagerDuty (an Events API v2 integration key) and Webhook (a destination URL).
Whichever path a partner uses, the stored credential is encrypted at rest and decrypted only at the moment Replayfy calls out. Disconnecting an integration drops the stored token immediately, and Replayfy only ever touches the scopes listed on the integration’s detail page.

The catalog

The catalog is grouped by what each integration is for. Every one below is live and connectable per workspace.
Slack is the most-used integration because it does double duty — it’s both an alert destination and a place you can file an issue (a rich message) about a single recording.

Connect an integration

1

Open the integration

Go to Settings → Integrations, pick the integration, and open its detail page.
2

Start the connection

Click Connect. Replayfy generates a signed authorize URL and sends you to the partner.
3

Approve access

Sign in to the partner if needed and approve the scopes shown on the detail page. Replayfy asks only for what it needs — for an issue tracker, that’s creating issues in a team or repository you choose plus reading status.
4

Land back connected

The partner returns you to Settings → Integrations with a confirmation toast, and the integration now shows a green Connected dot. Replayfy resolves and stores a sensible default target (a Linear team, a GitHub repo, a Slack channel, a Jira project) at connect time.

Route alerts to a destination

When an alert or anomaly signal fires — a crash spike, a funnel drop, a conversion dip — Replayfy can fan it out to the destinations you’ve connected. Three integrations act as alert destinations: You pick the destinations when you configure an alert. Each fired alert dispatches to its destinations concurrently, and a destination you haven’t connected is simply skipped — nothing errors, it just doesn’t deliver there. Connect the destination first, then add it to the alert.
Configuring which alerts fire and where they route lives on the Alerts page, not here — this page is only about connecting the destinations. See Alerts for building the conditions.

File an issue from a recording

You don’t have to leave a session to open a ticket about it. From a recording’s player, use Create issue to file straight into a connected tracker. The issue is pre-filled with the session link and a summary — the user, the URL, the duration, and the error and rage-click counts — so an engineer lands on the exact moment it happened.
1

Open a recording and click Create issue

In the player’s action bar, click Create issue. A picker lists the integrations that can file about a session: Linear, GitHub, Jira, Lark, and Slack.
2

Pick where to file it

Choose a tracker. If it’s already connected, Replayfy files immediately and shows you the created issue’s URL to copy (for Slack or Lark, it confirms the channel it posted to).
3

Not connected yet? It still works

Pick a tracker you haven’t connected and Replayfy remembers your intent, runs the connect flow, and files the issue automatically the moment you return — no need to start over.
Filing an issue is scoped to your workspace: you can only ever file about a session that belongs to the workspace you’re in.

Verify webhook payloads

Every webhook request carries an X-Replayfy-Signature header — the string sha256= followed by an HMAC-SHA256 of the raw request body, keyed with your signing secret. Recompute it on your side and compare before trusting a request. A fired alert arrives like this:
alert.triggered
Verify it against the secret you copied when connecting:
Compute the HMAC over the unparsed request body. If your framework parses and re-serializes JSON before you sign, the bytes change and the signature won’t match. Reach for the raw body (as shown above).
Respond with any 2xx to acknowledge receipt. A non-2xx is treated as a failed delivery for that event.

Disconnect an integration

1

Open the integration and click Disconnect

Go to Settings → Integrations, open the connected integration, and click Disconnect.
2

Confirm

A dialog explains that the workspace will stop being able to file or post to that partner. Confirm to proceed.
3

The token is dropped immediately

Replayfy revokes at the partner where possible and deletes the stored credential right away. You can reconnect at any time — for an OAuth partner that just means running the connect flow again.

Permissions and data access

Connecting, disconnecting, and viewing integration status all require the Member role or higher. The credential itself is never exposed back to the dashboard — the connections list returns only which providers are connected, never a token.
Only the scopes listed on each integration’s detail page — for example, “create issues in a team you choose” and “read and write issue status” for an issue tracker. Replayfy requests the minimum needed to file issues and post alerts, and nothing more.
OAuth tokens, PagerDuty keys, and webhook URLs are encrypted at rest and decrypted only at call time. OAuth tokens are refreshed automatically before they expire. Disconnecting deletes the stored credential immediately.

Alerts

Build the conditions that fire, and choose which connected destinations they route to.

Session replay

Open a recording and file an issue about the exact moment something went wrong.

Crash reporting

Turn a crash group into a tracked issue in Linear, Jira, or GitHub.