Analytics and integrations

View as Markdown

Connect your Fern documentation to the external tools you already use: analytics, session recording, support chat, and developer tools like Postman. Fern emits a set of analytics events (page views, feedback interactions, API Explorer usage, and more) and forwards them to whichever analytics providers you configure.

Supported providers

Analytics

Session recording and support

Developer tools

Configure providers

Define your provider configuration in docs.yml. Include only the providers you want to connect.

docs.yml
1analytics:
2 posthog:
3 api-key: ${POSTHOG_API_KEY}
4 endpoint: https://self.hosted.posthog.com/
5 segment:
6 write-key: ${SEGMENT_WRITE_KEY}
7 intercom:
8 app-id: ${INTERCOM_APP_ID}
9 endpoint: https://intercom.custom-instance.com/
10 fullstory:
11 org-id: ${FULLSTORY_ORG_ID}

Environment variables

If your docs configuration is public, don’t add secret values directly to docs.yml. Instead, reference an environment variable by using the syntax ${VARIABLE_NAME}.

If you use GitHub Workflows to trigger docs generation, the environment variables must be available during the workflow run.

1- name: Publish Docs
2 env:
3 FERN_TOKEN: ${{ secrets.FERN_TOKEN }}
4 POSTHOG_API_KEY: ${{ secrets.POSTHOG_PROJECT_API_KEY }}
5 run: |
6 npm install -g fern-api
7 fern generate --docs

Connect other integrations via custom JavaScript

Enterprise feature

This feature is available only for the Enterprise plan. To get started, reach out to support@buildwithfern.com.

You can integrate third-party tools that Fern doesn’t natively support in docs.yml using custom JavaScript, as long as they support HTML tag-based installation. This works with tools like:

  • Analytics: Amplitude, Heap, Plausible
  • Session recording: Hotjar, LogRocket, Microsoft Clarity
  • Support and chat: Zendesk, Crisp, Drift
  • Tag managers: Adobe Launch, Tealium

Paste the vendor’s <script> snippet into a custom JS file and reference it in your docs.yml:

docs.yml
1js: ./custom.js