Analytics and integrations

View as Markdown

Enable analytics

You can define your analytics configuration in docs.yml. You only need to include entries for the platforms 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 are using GitHub Workflows to trigger docs generation, you must make sure that the environment variables are 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