Conduits Docs

How Sync Works

The sync cycle — what happens, when, and how to trigger it manually.

The Sync Cycle

At your configured sync time (or when you click Sync Now), Conduits runs an 8-step pipeline:

  1. Connect — Decrypt your Telegram session and connect to Telegram's servers.
  2. Fetch Dialogs — Get your list of conversations. Update tracking records.
  3. Fetch Messages — For each enabled conversation, fetch new messages since the last sync.
  4. Disconnect — Close the Telegram connection immediately. Minimize session exposure.
  5. Match Contacts — For new or unmatched Telegram users, search HubSpot for a matching contact.
  6. Summarize — Send each day's messages through Claude AI to generate structured summaries.
  7. Sync to HubSpot — Create rich HTML notes on matched contact timelines.
  8. Update State — Record sync progress so the next run picks up where this one left off.

First Sync vs. Subsequent Syncs

First sync: Conduits fetches the 50 most recent messages from each enabled conversation, regardless of how old they are. This captures the latest context for every contact.

Subsequent syncs: Conduits only fetches messages newer than the last sync using Telegram's message ID watermark. This makes follow-up syncs fast, even for high-volume conversations.

What Gets Synced

  • Text messages — Full message content is used for summarization, then discarded. Raw messages are never stored.
  • Media — Converted to placeholders: [Photo], [Voice message], [Video], [Document], [Sticker]. Captions are included. No media files are downloaded.
  • Reply context — The AI sees reply threading to understand conversation flow.

What Does Not Get Synced

  • Secret Chats — Not accessible via MTProto. They exist only on-device.
  • Disabled conversations — Only conversations you've toggled on will be fetched.
  • Low-activity days — Days with fewer messages than your minimum threshold (default: 1) are skipped.
  • Unmatched contacts — Digests are created but not synced to HubSpot until the contact is matched.

Manual Sync

Click Sync Now on the Digests page to trigger an immediate sync outside the scheduled time. The same pipeline runs; the only difference is timing.

Timezone Handling

Messages are grouped by date in your configured timezone. If you're in New York and set your sync for 9 PM ET, messages are grouped by Eastern Time dates.

Error Recovery

Each step in the pipeline is idempotent. If a sync fails at step 6 (summarization), re-running it skips the already-completed steps and resumes where it left off. Failed digests are marked with an error and can be retried on the next sync.

On this page