Integrations

Configure external service integrations for GitHub, Polar, Discord, and more.

infrapage connects to external services through integrations. Manage them under Dashboard → Integrations.

There are two ways to connect:

  • One-click connect — GitHub, Google, and X have a Connect with … button that runs an OAuth round-trip and stores the resulting token for you. No copying secrets by hand.
  • Paste a token — every other integration takes an API key or token you create at the provider.

Either way the credential is encrypted at rest and never reaches the browser.

GitHub

Used by: Repository, Pipeline, Commit Graph, Releases, Actions Usage, and Activity Pulse widgets.

The quickest path is Dashboard → Integrations → GitHub → Connect with GitHub. You'll land on GitHub's app-installation screen, where you choose exactly which repositories to expose — including private ones. infrapage never receives your code; it mints a short-lived, scoped token per fetch and reads only the metadata the widgets display.

If you'd rather manage the credential yourself, paste a token instead:

1

Create a fine-grained token

Go to GitHub Settings → Developer settings → Personal access tokens and create a fine-grained token with read access to the repositories you want to display. Repository permissions: Metadata, Contents, and Actions (read). The Actions Usage widget additionally needs the account-level Plan (read) permission, and only works for accounts where you're a billing manager.

2

Add to infrapage

Open Dashboard → Integrations → GitHub and paste the token.

Polar

Used by: Polar Overview widget.

Configure your Polar API token to display monetization data like MRR and subscriber counts.

1

Create an Organization Access Token

In the Polar dashboard, open the organization you want to track and go to Settings → General → Developers, then click Create token. Tokens are scoped to a single organization — you'll need one token per Polar org.

2

Add to infrapage

Open Dashboard → Integrations → Polar and paste your Polar token. To track multiple orgs, add one credential per organization.

Discord

Used by: Discord Server widget.

The Discord widget uses public server invite data — no bot token is required. Just configure the widget with your server's invite code or ID.

X (Twitter)

Used by: Followers widget.

Go to Dashboard → Integrations → X (Twitter) → Connect with X. infrapage reads your own account through GET /2/users/me, which is what proves the follower count is yours — there's no handle to type, and no way to display someone else's numbers as your own.

Follower counts move slowly and every lookup costs money, so a connected account is read once every 24 hours, or once every 72 hours when the page owner isn't on Pro. That holds no matter how many pages, embeds, or visitors use it — they all share one cached read.

Pro connects several X accounts at once, each with its own credential, so a maker with a handle per product can chart them separately. Otherwise you hold one connected account: connecting a different handle replaces it rather than adding a second, since each account is its own billed read on every cycle.

beehiiv

Used by: Newsletter Subscribers widget.

1

Create an API key

Sign in at app.beehiiv.com and go to Settings → Workspace → API. Create a new API key and copy your publication ID (starts with pub_) from the same page. Read API access is included on all beehiiv plans, including the free Launch tier.

**Identity verification:** beehiiv gates API key creation behind a Stripe Identity check (they quote under 5 minutes). If you see "Verify your identity to create an API key", complete that first. The publication ID is shown on the same page *without* verification — so getting the `pub_…` ID but no key is expected, not a bug.
2

Add to infrapage

Open Dashboard → Integrations → beehiiv and paste the API key. When adding the widget, enter the pub_… publication ID.

Umami Analytics

Used by: Umami Stats widget.

Configure the widget with:

  • Your Umami instance URL
  • Website ID
  • API credentials (if authentication is enabled on your Umami instance)

Sentry

Used by: Sentry Overview widget.

Configure with your Sentry organization slug, project slug, and an auth token with project:read scope.

Uptime Kuma

Used by: Uptime Kuma widget.

Configure with your Uptime Kuma instance URL. The widget reads from Uptime Kuma's public status page API.

Beszel

Used by: Beszel widget.

Configure with your Beszel server URL and authentication credentials to display system metrics.

Google Search Console

Used by: Search Console widget.

Go to Dashboard → Integrations → Google Search Console → Connect with Google and grant read-only access to your Search Console data. infrapage asks for webmasters.readonly and nothing else — it can read your search performance, but not change anything in your account.

Once connected, adding the widget lets you pick which verified property to display from a dropdown of the properties you own. The widget shows clicks, impressions, and top queries over a period you choose (7, 28, 90, or 180 days; 28 by default).

If you'd rather not connect your Google account, you can paste a service-account JSON key instead:

1

Create a service account

In the Google Cloud console, enable the Search Console API, create a service account, and download a JSON key for it.

2

Grant it access to your property

In Search Console, open Settings → Users and permissions and add the service account's email address as a user with at least Restricted access.

3

Add to infrapage

Open Dashboard → Integrations → Google Search Console and paste the entire JSON key.