First-run setup

Three service credentials for the hosted setup.

For the public hosted relay, ClassSync only needs a Fireflies API key, a Gemini API key and a Notion integration token. The app discovers the relay registration mode automatically; the hosted relay is open for account creation, so there is no separate ClassSync setup token to obtain.

Keep secrets private. Never put API keys, recovery codes, invite or registration codes, or webhook signing secrets in screenshots, GitHub issues or chat messages. ClassSync keeps service credentials in OS secure storage.

0. Install ClassSync

0

Use a published GitHub release

Download the Windows installer or Android APK from the public ClassSync releases page. Published releases also include SHA-256 checksums.

Updating instead? Install the newer build over the existing installation. Do not uninstall ClassSync or clear app storage first, otherwise local state and secure-storage configuration can be lost.

1. Fireflies API key

1

Open Developer settings

In Fireflies, open Settings → Personal → Developer settings and copy your API key.

Screenshot slot: fireflies-api-key.webpCapture Developer settings with the key itself blurred.

2. Gemini API key

2

Create a key in Google AI Studio

Create or copy a Gemini API key for the project you want ClassSync to use, then keep it ready for the Gemini step.

Screenshot slot: gemini-api-key.webpCapture AI Studio → API Keys with all real keys hidden.

3. Notion template + integration token

3

Duplicate the ClassSync template

Duplicate the ClassSync Notion template into your own workspace. It contains the subject and summary databases expected by the app.

4

Create an internal Notion integration

Create an internal Notion integration, copy its token, then share the copied ClassSync template page/databases with that integration. ClassSync can only discover databases the integration is allowed to access.

Screenshot slots: notion-token.webp + notion-page-connection.webpCapture token creation and sharing the copied template, with private values hidden.

4. Finish the nine-screen wizard

  1. Welcome: review what you need, or choose Use recovery code if this is an additional device for an existing account.
  2. Relay: keep the hosted relay selected for the normal setup. ClassSync detects whether a relay uses open, invite or token registration. Only custom relays may ask for a code.
  3. Account: enter the owner's display name, create the private ClassSync account and save the recovery code.
  4. Fireflies: paste and test the API key. ClassSync also shows the account-specific Webhooks V2 URL and signing secret.
  5. Gemini: paste and test the API key and choose the summary model.
  6. Notion: paste the token, discover the shared databases and select Lista de Cadeiras plus Histórico de Resumos.
  7. Academic: leave ISEP Portal and Moodle off unless you use them. The lecture summary pipeline, local tasks, and manual evaluations remain available.
  8. Automation: choose notification and platform background-processing preferences.
  9. Ready: review the verified connections before the first sync.

5. Configure the Fireflies webhook

Use the exact account-specific URL and signing secret shown by ClassSync in Fireflies Webhooks V2. Subscribe only to meeting.transcribed. Each ClassSync account gets its own webhook values.

Screenshot slot: fireflies-webhook-v2.webpCapture the Webhooks V2 configuration with URL and secret replaced by fake values.

Optional academic connections

ISEP Portal and Moodle are off by default for new accounts. Turn them on in the Academic step, or later under Settings → Connections → Use ISEP Portal and Moodle. Turning them off hides imported sections and data and stops refreshes; local tasks and manual evaluations stay available. Existing accounts keep their enabled setting after upgrading. Portal data stays in the local offline cache and does not pass through the ClassSync relay. Moodle stores the exchanged app token rather than the submitted password.

Notion database requirements

Recommended metadata. Let ClassSync add the optional Fireflies ID rich-text property. It makes reconciliation safer across devices and interrupted publishes.

Class identification and retries

Under Settings → AI & summaries, choose whether Gemini should identify classes automatically. Turning it off makes new lectures wait for your manual choice. You can change an identified class later; ClassSync updates its owned content on the same Notion page instead of creating a duplicate.

Moving to another device

Choose Use recovery code on Welcome. Recovery restores the encrypted shared configuration for that account, including configured Fireflies sources, Gemini/Notion keys and academic credentials when present in the synced snapshot. It does not require an invite or registration token.

For an account on a self-hosted relay, expand Custom relay and enter the existing relay URL before recovering. Full transcripts and generated summaries are not copied between devices; bounded status and Notion-link metadata are.

App updates

The current source includes public GitHub-release update checks. On releases that contain this feature, ClassSync checks when the app opens and exposes Settings → App updates & widget. Public release checks normally require no GitHub token. If GitHub rate-limits a device, you can optionally provide a fine-grained token with only Contents: read; it stays in OS secure storage on that device.

When you accept an available update, ClassSync downloads the matching installer or APK, verifies the published SHA-256 checksum and starts the platform installer. Android still requires normal system approval for sideloaded APK updates.