Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

@sentry/fullstory

getsentry320kMIT4.0.0TypeScript support: included

The Sentry-FullStory integration creates a link from the Sentry Error to the FullStory replay. It also creates a link from the FullStory event to the Sentry error.

readme

Sentry FullStory

The @sentry/fullstory integration seamlessly integrates the Sentry and FullStory platforms. When you look at a browser error in Sentry, you will see a link to the FullStory session replay at that exact moment in time. When you are watching a FullStory replay and your user experiences an error, you will see a link that will take you to that error in Sentry.

Pre-Requisites

For the Sentry-FullStory integration to work, you must have the Sentry Browser SDK package or the Sentry React Native SDK package and the FullStory Browser SDK package or the FullStory React Native SDK package respectively.

On-Premise Installations

If you are using on-premise Sentry (not sentry.io), then you must have Sentry version 20.6.0 or higher.

Installation

To install the stable version:

with npm:

npm install --save @sentry/fullstory

with yarn:

yarn add @sentry/fullstory

Setup

First, grab your Sentry organization slug. You can get that value from the URL of your sentry organization. Example: https://fullstory.sentry.io/ where fullstory would be the value of the organization slug.

Next, grab your FullStory organization ID. You can get that value from the FullStory recording snippet on your FullStory settings page.

Code Changes

To set up the integration, both FullStory and Sentry need to be initialized. Make sure to replace __FULLSTORY_ORG_ID__ with your FullStory organization ID and __SENTRY_ORG_SLUG__ with your Sentry organization slug.

Browser

import * as Sentry from '@sentry/browser';
import { fullStoryIntegration } from '@sentry/fullstory';

import { FullStory, init } from '@fullstory/browser';
// v1 import:
// import * as FullStory from '@fullstory/browser';

init({ orgId: '__FULLSTORY_ORG_ID__' });

Sentry.init({
  dsn: '__DSN__',
  integrations: [
    fullStoryIntegration('__SENTRY_ORG_SLUG__', { client: FullStory }),
  ],
});

React Native

import * as Sentry from '@sentry/react-native';
import { fullStoryIntegration } from '@sentry/fullstory';

import FullStory from '@fullstory/react-native';

FullStory.init({ orgId: '__FULLSTORY_ORG_ID__' });

Sentry.init({
  dsn: '__DSN__',
  integrations: [
    fullStoryIntegration('__SENTRY_ORG_SLUG__', { client: FullStory }),
  ],
});

Sentry Settings Change

In order for this integration to work properly, you need to whitelist the fullStoryUrl field in your Sentry settings. If you don't, the FullStory URL might be scrubbed because the session ID matches a credit card regex. To do this change, go to Settings -> Security & Privacy and add fullStoryUrl to the Global Safe Fields entry.

Settings

How it works

In Sentry, you should see additional context of your error that has the fullStoryUrl below the breadcrumbs and other information:

Sentry

In FullStory, you should see an event called Sentry Error on the right sidebar that has a link to the error in Sentry:

FullStory

Contributing

We welcome community contributions to @sentry/fullstory! If you have an idea for a feature or a bug fix, don't hesitate to open an issue or a pull request.

See the Contributing Guide for more information.

Version Compatibility

The Sentry FullStory integration is compatible with Sentry JavaScript SDK 9.x and above. If you need to support Sentry JavaScript SDK 8.x, please use version 3.x of this integration.

Sentry FullStory Integration Version Sentry JavaScript SDK Version
4.x 9.x
3.x 8.x
2.x 7.x

changelog

Changelog

4.0.0

The Sentry FullStory integration has been updated to be compatible with Sentry JavaScript SDK 9.x. If you need to support Sentry JavaScript SDK 8.x, please use version 3.x of this integration. For more details on version compatibility, see the README.

  • BREAKING CHANGES: feat!: upgrade to Sentry SDK v9 (#101)
  • BREAKING CHANGES: Use TypeScript 5.8.2 to build the Sentry FullStory integration (#102)

Thanks @seanparmelee for the contribution!

3.0.1

Fix: don't send FS events for non-errors (#100)

Thanks @seanparmelee for the contribution!

3.0.0

The Sentry FullStory integration has been updated to be compatible with Sentry JavaScript SDK 8.x. If you need to support Sentry JavaScript SDK 7.x or lower, please use version 2.x of this integration.

Configuration for the SDK now looks like so:

import { fullStoryIntegration } from '@sentry/fullstory';

// ...

Sentry.init({
  dsn: '__DSN__',
  integrations: [
    fullStoryIntegration('__SENTRY_ORG_SLUG__', { client: FullStory }),
  ],
  // ...
});
  • BREAKING CHANGES: feat: add support for sentry v8 (#92)

Thanks @seanparmelee for the contribution!

2.1.0

Add support for @fullstory/browser v2 (#86)

Thanks @seanparmelee for the contribution!

2.0.0

Refactoring the whole integration so it's platform agnostic.

BREAKING CHANGES: users now must provide the FullStory client as an option in the args.

1.1.8

Allow a custom FullStory Client to be passed as an option (e.g. from Segment) Catch exceptions when accessing the client's API methods

1.1.7

Ensures Fullstory client is initalized before accessing it

1.1.6

Ignores Sentry's performance monitoring transactions when creating FullStory events

1.1.5

Adds the index.d.ts file that was accidentally removed in the previous version

1.1.4

Adds better type checking and fixes error when hint.originalException is null

1.1.3

Add check for undefined error

1.1.2

Fixed typo in Readme and updated instructions for new Security and Privacy page.

1.1.1

Updating @fullstorydev/browser dependancies to @fullstory/browser Adds Typescript output files to dist

1.1.0

Updating the call to FS.event to include the message and name properties of the original exception.

1.0.0

Initial Release