FullStory · AsyncAPI Specification

FullStory Webhook Events

Version 1.0

FullStory delivers real-time webhook notifications when specific events occur within the platform. Supported event types include segment creation, segment threshold alerts, custom event processing, and note creation. Webhooks enable event-driven integrations that respond immediately to behavioral signals detected by FullStory, eliminating the need for polling. Payloads are signed with a shared secret for verification.

View Spec View on GitHub AnalyticsDigital ExperienceSession ReplayWebhooksData ExportAsyncAPIWebhooksEvents

Channels

/webhook
publish receiveWebhookEvent
Receive webhook event notifications from FullStory
Channel for all FullStory webhook event deliveries. Events are sent as HTTP POST requests to the configured endpoint URL with a JSON payload containing the event name, version, and event-specific data.

Messages

SegmentCreated
Segment Created
Sent when a FullStory user creates a new segment in the platform
SegmentTrendAlert
Segment Threshold Alert
Sent when a segment-based alert triggers because the active users in a saved segment cross a configured threshold
CustomEvent
Custom Event Processed
Sent when a custom event has been processed. Custom events are created during recording via the FS.event Browser API function.
NoteCreated
Note Created
Sent when a note is created in FullStory on a session recording

Servers

https
webhookReceiver {webhookUrl}
The HTTPS endpoint configured to receive FullStory webhook events. This URL is set when creating a webhook endpoint via the Webhooks API.

AsyncAPI Specification

Raw ↑
asyncapi: 2.6.0
info:
  title: FullStory Webhook Events
  description: >-
    FullStory delivers real-time webhook notifications when specific events
    occur within the platform. Supported event types include segment creation,
    segment threshold alerts, custom event processing, and note creation.
    Webhooks enable event-driven integrations that respond immediately to
    behavioral signals detected by FullStory, eliminating the need for polling.
    Payloads are signed with a shared secret for verification.
  version: '1.0'
  contact:
    name: FullStory Support
    url: https://help.fullstory.com/
servers:
  webhookReceiver:
    url: '{webhookUrl}'
    protocol: https
    description: >-
      The HTTPS endpoint configured to receive FullStory webhook events.
      This URL is set when creating a webhook endpoint via the Webhooks API.
    variables:
      webhookUrl:
        description: >-
          The destination URL configured for the webhook endpoint
    security:
      - signingSecret: []
channels:
  /webhook:
    description: >-
      Channel for all FullStory webhook event deliveries. Events are sent
      as HTTP POST requests to the configured endpoint URL with a JSON
      payload containing the event name, version, and event-specific data.
    publish:
      operationId: receiveWebhookEvent
      summary: Receive webhook event notifications from FullStory
      message:
        oneOf:
          - $ref: '#/components/messages/SegmentCreated'
          - $ref: '#/components/messages/SegmentTrendAlert'
          - $ref: '#/components/messages/CustomEvent'
          - $ref: '#/components/messages/NoteCreated'
components:
  securitySchemes:
    signingSecret:
      type: httpApiKey
      name: X-FS-Signature
      in: header
      description: >-
        Webhook payloads are signed using the signing secret configured for
        the endpoint. The signature is included in the request headers for
        verification by the receiving application.
  messages:
    SegmentCreated:
      name: segment.created
      title: Segment Created
      summary: >-
        Sent when a FullStory user creates a new segment in the platform
      contentType: application/json
      payload:
        $ref: '#/components/schemas/SegmentCreatedPayload'
    SegmentTrendAlert:
      name: segment.trend.alert
      title: Segment Threshold Alert
      summary: >-
        Sent when a segment-based alert triggers because the active users
        in a saved segment cross a configured threshold
      contentType: application/json
      payload:
        $ref: '#/components/schemas/SegmentTrendAlertPayload'
    CustomEvent:
      name: recording.event.custom
      title: Custom Event Processed
      summary: >-
        Sent when a custom event has been processed. Custom events are
        created during recording via the FS.event Browser API function.
      contentType: application/json
      payload:
        $ref: '#/components/schemas/CustomEventPayload'
    NoteCreated:
      name: note.created
      title: Note Created
      summary: >-
        Sent when a note is created in FullStory on a session recording
      contentType: application/json
      payload:
        $ref: '#/components/schemas/NoteCreatedPayload'
  schemas:
    SegmentCreatedPayload:
      type: object
      description: >-
        Payload delivered when a new segment is created in FullStory
      properties:
        eventName:
          type: string
          const: segment.created
          description: >-
            The event type identifier
        version:
          type: integer
          description: >-
            Schema version of the event payload
        data:
          type: object
          description: >-
            Event-specific data for the segment creation
          properties:
            id:
              type: string
              description: >-
                Unique identifier for the created segment
            creator:
              type: string
              format: email
              description: >-
                Email address of the FullStory user who created the segment
            name:
              type: string
              description: >-
                Display name of the created segment
            url:
              type: string
              format: uri
              description: >-
                URL to view the segment in the FullStory application
            created:
              type: string
              format: date-time
              description: >-
                ISO 8601 timestamp when the segment was created
    SegmentTrendAlertPayload:
      type: object
      description: >-
        Payload delivered when a segment-based threshold alert triggers
      properties:
        eventName:
          type: string
          const: segment.trend.alert
          description: >-
            The event type identifier
        version:
          type: integer
          description: >-
            Schema version of the event payload
        data:
          type: object
          description: >-
            Event-specific data for the segment threshold alert
          properties:
            id:
              type: string
              description: >-
                Unique identifier for the alert
            timestamp:
              type: string
              format: date-time
              description: >-
                ISO 8601 timestamp when the alert triggered
            value:
              type: number
              description: >-
                The observed value that triggered the alert
            notificationUrl:
              type: string
              format: uri
              description: >-
                URL to view the alert notification in FullStory
            alertConfig:
              type: object
              description: >-
                Configuration details of the alert that triggered
              properties:
                description:
                  type: string
                  description: >-
                    Human-readable description of the alert condition
                threshold:
                  type: number
                  description: >-
                    The configured threshold value
                direction:
                  type: string
                  description: >-
                    Whether the alert triggers when value goes above or below
                    the threshold
                  enum:
                    - ABOVE
                    - BELOW
                duration:
                  type: string
                  description: >-
                    The time window for measuring active users
                  enum:
                    - DAILY
                    - WEEKLY
                    - MONTHLY
                alertUrl:
                  type: string
                  format: uri
                  description: >-
                    URL to view the alert configuration in FullStory
                alertCreator:
                  type: string
                  format: email
                  description: >-
                    Email address of the user who created the alert
                segmentUrl:
                  type: string
                  format: uri
                  description: >-
                    URL to view the associated segment in FullStory
    CustomEventPayload:
      type: object
      description: >-
        Payload delivered when a custom event is processed in FullStory
      properties:
        eventName:
          type: string
          const: recording.event.custom
          description: >-
            The event type identifier
        version:
          type: integer
          description: >-
            Schema version of the event payload
        data:
          type: object
          description: >-
            Event-specific data for the custom event
          properties:
            name:
              type: string
              description: >-
                The name of the custom event as defined via FS.event
            sessionUrl:
              type: string
              format: uri
              description: >-
                URL to view the session replay in FullStory
            properties:
              type: object
              description: >-
                Custom properties attached to the event
              additionalProperties: true
    NoteCreatedPayload:
      type: object
      description: >-
        Payload delivered when a note is created on a session recording
      properties:
        eventName:
          type: string
          const: note.created
          description: >-
            The event type identifier
        version:
          type: integer
          description: >-
            Schema version of the event payload
        data:
          type: object
          description: >-
            Event-specific data for the note creation
          properties:
            id:
              type: string
              description: >-
                Unique identifier for the note
            creator:
              type: string
              format: email
              description: >-
                Email address of the user who created the note
            sessionUrl:
              type: string
              format: uri
              description: >-
                URL to the session replay where the note was created
            created:
              type: string
              format: date-time
              description: >-
                ISO 8601 timestamp when the note was created