Intercom Fin - Activation Session Summaries

Who can use this feature?
- Part of Anywhere: Activation.
- 1000 Activations per month available with Enterprise and Advanced plans.
- Additional Activations available with Anywhere: Activation. Learn more.
- Requires an Admin or Architect role to configure.

This guide will walk you through configuring Fullstory's AI Session Summary API and connecting it to Intercom Fin as a Data Connector. This allows Fin to access tailored summaries of user sessions from Fullstory, providing valuable context to answer user questions more effectively.

 

Prerequisites

Before you begin, ensure you have:

  • An active Fullstory account with access to the Session Summary APIs, part of the Fullstory Anywhere: Activation offering.
  • Your Fullstory API Key. You can find information on generating and managing API keys in the Fullstory developer documentation.
  • An active Intercom account with access to Fin and Data Connectors.
  • Previously installed Fullstory <> Intercom integration
  • Familiarity with Fullstory and Intercom Fin capabilities.


Step 1: Create and Configure a Fullstory Summary Profile

A Summary Profile tells Fullstory's AI how to process session data and what kind of summary to generate. You'll need to create this profile via the Fullstory API.

  1. Understand Key Configuration Concepts:
    • pre_prompt & post_prompt: These are instructional texts you provide to the AI.
      • pre_prompt: Sets the stage before session data is presented (e.g., defines the AI's persona or the main goal).
      • post_prompt: Gives final instructions after the session data (e.g., requests specific output formatting or asks questions about the session).
    • events: This object controls what session data is sent to the AI. You can include or exclude event types (like clicks, errors, navigation) and other contextual information. Carefully select data relevant to your needs to improve summary quality.
      • Use include_types to specify only the events to process.
      • Use exclude_types to specify events to ignore. It's generally recommended to use one or the other, not both.
      • You can use standard event type strings (e.g., "click", "navigate", "console-error") or your organization's custom event names.
  2. API Call to Create the Profile:

    • You will make a POST request to the /v2/visit_profile endpoint, authenticated with your Fullstory API key.

    Request Body Example (more robust example in the guide appendix):

    {
      "events": {
        "exclude_types": ["console-error", "network-error"]
      },
      "slice": {
        "mode": "LAST",
        "event_limit": 50
      },
      "llm": {
        "pre_prompt": "You are an expert support analyst. The following is a log of a user's session events",
        "post_prompt": "Summarize the user's primary goal, list any errors or frustration they encountered, and note their final action in the session. If they visited any help center pages, list them. Present this as a concise summary optimized for Intercom Fin context."
      }
    }
  3. Save the Profile ID:
    • After successfully creating the profile, the API will respond by return the profile ID.
    • Keep this ID safe. You'll need it when setting up the Data Connector in Intercom.


Step 2: Set Up the Data Connector in Intercom

Now, you'll configure Intercom to call the Fullstory Session Summary API.

  1. Configure Authentication (Settings > Integrations > Authentication):
    • Intercom will require you to set up authentication for the Fullstory API.
    • Type: Select “Text”
    • Token value: Enter your Fullstory API Key
    • Token prefix: Enter “Bearer”
    • Key for request header: Enter “Authorization”
    • Name and save the Authentication token.

      Intercom Fin - Configure Authentication

  1. Create a new Data Connector (Settings > Integrations > Data Connectors)
    1. Navigate to Data Connectors
    2. Click “+ New Data Connector”
    3. About
      • Give it a descriptive name (e.g., "Fullstory Session Summary for AI Context")
      • Give it the following description: “Fin should ALWAYS use this data connector to fetch the users session context AT THE START of a conversation. If the user ask questions about their current web or mobile session, Fin should use this session context to inform it's answer.”
      • Check the box to allow Fin to use this connector directly
      • Make it available for the audiences you want and add audience rule to ensure "Latest FullStory Session ID has any value"

        Important: The "Latest FullStory Session ID" attribute should not be marked as a protected attribute in Intercom. Marking the session ID as protected may cause integration issues.

        Intercom Fin - About

      • Click "Next step"
    4. API Connection
      • Add the Fullstory API endpoint to the HTTPS URL as a “GET” method: https://api.fullstory.com/v2/sessions/{Latest FullStory Session ID}/summary?config_profile=[profile-id]

        Intercom Fin - GET Method
        Note: Although the screenshot references /v2beta/, your API route will be /v2/.
      • IMPORTANT: The {Latest FullStory Session ID} is a dynamic variable set by the Fullstory integration. You add it to the URL using this dynamic variable icon button:

        Intercom Fin - Dynamic Variable

      • The [profile-id] is the ID you created with the Fullstory “Create Profile” in Step 1.
      • Select the Authentication header you created as the first “HTTP Header”

        Intercom Fin - HTTP Header

      • Click “Next step”
    5. Test response
      • To generate a test response, you’ll need to get a real Session ID from Fullstory. In a separate tab, log in to Fullstory and find a session of interest that you’d like to summarize.
      • In the Session Replay view, on the top right, you’ll find a small card with user and session details and a “show more” button.

        Intercom Fin - Show More

      • Inside the expanded card, you will need BOTH the Device ID and Session ID. You will combine them back in Intercom with “%3A” like this, “3736551970113451688%3A1841065038895451701”

        Intercom Fin - Device/Session ID

      • Add the combined IDs into the “Test value” and click “Test request” to see the sample summary. Click “Next step”

        Intercom Fin - Sample Summary

    6. Data access
      • Select “Full data access” and click “Next step”
    7. Object mapping
      • If you would like to store the Session Summary as a Conversation or People Attribute, choose the custom attribute you’d like and map it to the “summary” field returned by the Fullstory API
         

        Intercom Fin - Object Mapping

    8. Finalize
      • Once you are done, you can click “Save and set live” to enable the integration for Fin

Note: If you prefer to store the summary in a Custom Object, you may do so by:

  • Creating a custom "Fullstory Session" object
  • Add a Session Summary text attribute to the object
  • Add a new "Fullstory Session" reference attribute as a Conversation and/or People Attribute
  • Update the Fullstory Prompt Profile to return a json response with both a summary and session ID using the response_schema feature within the llm configuration.  
  • Map the updated response to the custom object attributes (external_id = session ID) and update reference to the Conversation and/or People Attributes


 

Step 3: Fin Utilizes the Fullstory Summary

Once the Data Connector is active:

  1. When a user interacts with Fin, and a relevant Fullstory Session ID is available to Intercom, Fin can use the Data Connector.
  2. Fin will call the Fullstory Session Summary API using the configured connector, providing the Latest FullStory Session ID and your Summary Profile ID.
  3. The tailored summary generated by Fullstory's AI will be returned to Fin.
  4. Fin can then use this summary as additional context to provide more accurate and helpful answers to the user.
  5. Visit the Data Connector article in the Intercom Help Center additional guidance and best practices.


Best Practices and Troubleshooting

  • Iterate and Refine Your Fullstory Profile: The quality of summaries heavily depends on your Summary Profile configuration.
    • Test with diverse session types (successful, problematic, short, long).
    • Analyze the summaries. If they aren't optimal, tweak your pre_prompt, post_prompt, and configuration settings in Fullstory and re-test. Small changes can have big impacts.
    • Longer sessions and summary formats can take longer for AI to parse. Try changing the configuration and prompt to be more concise if latency is a concern (see example below).
  • Ensure Rich Fullstory Data: The more detail in your Fullstory data (Defined Events, Pages, Elements, User and Element Properties), the better the potential quality of AI summaries.
  • Troubleshooting Poor Summaries or Failures:
    • Check IDs: Ensure you have the core Fullstory <> Intercom integration installed and it’s correctly passing the “Latest FullStory Session ID” to Intercom as a custom People Attribute.

      Intercom Fin - Check IDs

    • Review Profile Configuration: Is your Fullstory configuration object too restrictive or too open? Are your pre_prompt and post_prompt clear and specific?
    • Sufficient Session Interaction: Ensure the session being summarized has enough interaction for a meaningful summary.
    • Avoid Generic Prompts: Don't use overly generic prompts like just "Summarize." Be specific about what Fin needs.
    • Focus on Observable Actions: Frame prompts around observable actions rather than user thoughts (e.g., "What actions suggest user confusion?" instead of "What was the user thinking?").
    • Debug Data Connector Responses: Go to the Intercom Inbox conversation and select Show conversation events. Events will show if Fin has access to the data connector and if the data connector is successfully triggered.

By following these steps and iteratively refining your setup, you can leverage Fullstory's AI-powered session summaries to enhance Intercom Fin's contextual understanding and response quality. Always refer to the official Fullstory and Intercom developer documentation for the most detailed parameter descriptions, advanced options, and specific UI instructions for Data Connectors.


Example Profile

{
  "events": {
       "trim_to_last_n_selectors": 2,
       "include_types": ["click", "navigate", "input-change", "element-seen", "view_item", "add_to_cart", "view_cart"]
  },
  "slice": {
      "mode": "LAST",
      "event_limit": 50
   },
   "llm": {
"pre_prompt": "Below is a sequence of events for a user session of Cargo Fashion retail site:",
   	"post_prompt": "Objective: Generate a concise, factual summary of the user's session to provide context for an Intercom Fin conversation. Analyze the session data above and adhere strictly to the constraints and template below.\n\n**Strict Constraints:**\n- **Total Length:** The entire summary must NOT exceed 150 words.\n- **Brevity:** Use phrases, not full sentences, but be sure to include specific details like error message text and product details.\n- **Limit Triggers:** Provide no more than three bullet points under 'Context for Fin'.\n\n**Output Template:**\n\n**1. Customer**\n* **Status:** `[Logged-in | Guest]`\n* **Device:** `[Desktop | Mobile | Tablet]`\n\n**2. Session Highlights**\n* **Summary:** `[1-sentence overview of user's core activity]`\n* **Products of Interest:** `[List products viewed or added to cart]`\n* **Checkout Status:** `[Last completed stage: Viewed Cart, Entered Shipping, Reached Payment, or N/A]`\n* **Observed Friction:** `[Describe clear issues like 'Invalid discount code'. If none, state 'None.']`\n\n**3. Context for Fin (Potential Query Triggers)**\n* `[Translate a key event into a likely reason for the chat]`\n* `[Translate a second key event if applicable]`\n* `[Translate a third key event if applicable]`\n\n**Crucial Output Rules:**\n- Do NOT include technical jargon, network/console logs, or navigation paths.\n- Report only on actions that signal clear intent or struggle.\n- Be factual. Do NOT speculate on the user's emotional state."
  }
}

Example Summary

{
    "summary": "**1. Customer**\n* **Status:** Logged-in\n* **Device:** Desktop\n\n**2. Session Highlights**\n* **Summary:** The user repeatedly attempted to add the Cargo Commander Jacket to their cart, encountering an error, and then contacted support.\n* **Products of Interest:** Cargo Commander Jacket (SKU9585)\n* **Checkout Status:** Viewed Cart\n* **Observed Friction:** \"Missing Option: Select Shirt Color\" error prevented adding the product to the cart.\n\n**3. Context for Fin (Potential Query Triggers)**\n* User may be asking why they can't add the jacket to their cart.\n* User may be asking about the \"Missing Option: Select Shirt Color\" error.\n* User may be asking for help with the product.\n"
}

Was this article helpful?

Got Questions?

Get in touch with a Fullstory rep, ask the community or check out our developer documentation.