Skip to content

New connector: Circleback (meeting notes, action items, transcripts) #76

Description

@jqueguiner

The service

Circleback records meetings and produces AI notes, action items and a full speaker-attributed transcript. For anyone whose decisions land in meetings rather than in chat, that content is exactly what Void is good at surfacing, but today it sits in a separate silo, unsearchable next to Slack, Gmail and WhatsApp.

I have a working connector and would rather discuss the approach before opening the PR, as CONTRIBUTING.md asks.

Auth model

API key, entered once via void setup (Circleback then Settings then API). No OAuth dance, no refresh token, nothing to renew.

Push vs polling

Polling. Circleback has no webhook or streaming API that I could find, so the connector polls the meetings endpoint on the normal sync interval.

Two details keep the polling cheap:

  • a meeting already imported is re-fetched only when Circleback reports it changed
  • the transcript, which is the expensive call, is fetched once per meeting

Meetings still being processed on Circleback's side are skipped and picked up on a later poll, rather than imported half-empty.

Data model

One meeting becomes one conversation, and its parts become messages sharing a single context group, so the inbox shows one row per meeting while void messages and void search reach every spoken turn:

  • a notes message: title, duration, attendees, meeting URL, then the summary
  • an action items message: a checklist with each item's assignee
  • one message per transcript turn, attributed to the speaker, ordered by timestamp

Transcript import is opt-out via include_transcript = false for people who only want notes and action items, and first-sync depth is bounded by backfill_days (default 365).

Read-only

The connector refuses void send and void reply on a Circleback conversation. Circleback is a record of what was said in a meeting; there is nothing meaningful to write back to.

Status

Implemented, 11 unit tests, ./scripts/check.sh green (fmt, clippy with -D warnings, tests).

Happy to adjust the shape before I open the PR, in particular whether one message per transcript turn is the right granularity, or whether the whole transcript should be a single message.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions