Record Slack huddles and feed AI at 22:00: six Circleback settings
Go deeper on this topic
SaaS integrations
Give AI the context to continue the work: source conversations, open tasks, and unresolved details, from adoption decisions to integration code.
Article 1 of 3 in this series.
Next reads
Circleback action items to tasks: testing webhook signatures, owners, and replay keys
Runnable Circleback webhook code checks signatures and missing owners, then tests SQLite upserts with two writers, batch rollback, and the old-replay case that can reopen a completed task. Uses synthetic data.
Track Dub referral links in Japanese and English without breaking referral IDs
A tested local URL builder preserves issued referral paths and existing parameters while labeling article language and placement. Includes a workflow for distinguishing clicks, leads, sales, and confirmed commissions.
Use the topic hub as a map, then continue to the next article in the series. New here? Start at the home hub →
Disclosure: this article includes a Circleback affiliate link. We may earn a commission if you subscribe. The article states what we tested and what remains unverified.
If your work runs in Slack and you want Claude Code to retrieve past meeting notes, Circleback is my first choice right now. Two features matter most for that workflow: it can join Slack huddles, and its API lets me retrieve what was recorded.
Notes left inside a meeting app rarely become part of my work. They become useful when they arrive in Slack or an AI can retrieve them when I need context. That is the outcome I want, more than a tidy archive.
My routine dates back to using tl;dv: sync meeting notes into a repository for work notes every night at 22:00, have Claude summarize them, and extract only my own standup contributions into a personal log. Circleback exposes meeting notes and speaker-labeled transcripts through an API, giving that workflow a direct data source.
This guide focuses on Slack delivery, huddle capture, and AI retrieval. Product documentation and pricing were rechecked on October 5, 2026. It is a workflow recommendation, not a benchmark of transcription accuracy across products.
Choose it for the work that follows the recording
Three conditions define the workflow: discussions happen in huddles that never reach the calendar, people read notes and tasks in Slack, and Claude Code needs past decisions to continue the work. Circleback is the option I would recommend when those conditions overlap.
Suppose a team reverses a decision in a huddle the day after a scheduled meeting. An AI that reads only the scheduled meeting's summary could work from the old plan. I want a record that shows which discussion changed the decision, rather than simply a count of recorded meetings.
If a few meetings are manageable by hand and nobody needs AI retrieval later, building a sync is harder to justify. If you need ongoing access to decisions older than 30 days, Free's history limit becomes the point at which to consider Pro.
Keep the conversations that never reach a calendar
A scheduled meeting is only part of the record. A quick huddle about a changed requirement or a customer reply may never have a calendar event.
Circleback can automatically join huddles in channels it belongs to and produce notes, action items, and a transcript. That fits the way I work. It does have conditions: participants must belong to the same Circleback workspace and use matching email addresses in Slack and Circleback. Direct-message huddles require a manual invitation. Official huddle setup
Put the delivery and the follow-up question in Slack
After a meeting, I want the notes and action items in a channel I already read. It gives people who missed the meeting a place to catch up without remembering to open another app.
Automations can filter by tags, meeting name, or participants. Start with one notes channel for the intended meetings. Once the volume is clear, split delivery between engineering, sales, and customer support. With no conditions, the automation runs after every meeting. Automation conditions and actions
For customer calls, an AI insight can classify sentiment as red, yellow, or green. The official setup guide includes a second automation for red results sent to a separate destination. Add that after the basic feed is useful, starting with a volume you can review. Customer health routing example
For a question afterward, connect or update Slack under Settings → Connected accounts, then mention @Circleback in Slack. When asked within a thread, the assistant can use earlier messages and images and return sources. A question such as “Which changes did we agree on in this thread?” stays in the place where the discussion happened. Slack thread support
The $15 price means annual billing. Monthly billing is $18
Circleback introduced its current plan lineup on August 31, 2026. Free includes API, MCP, and CLI access; Pro extends history and integrations. Plan announcement
I checked both billing tabs on September 30 and October 5. The prices were unchanged between those checks. These are the displayed prices per user per month. The annual price is the monthly equivalent of annual billing; the second price uses monthly billing.
| Plan | Annual / monthly | Relevant difference |
|---|---|---|
| Free | $0 / $0 | 30-day meeting and recording history; API access |
| Pro | $15 / $18 | Unlimited meeting history, one year of recordings, integrations including Notion, HubSpot, and webhooks |
| Business | $25 / $29 | Workspace defaults and enforced settings, admin/member roles, two years of recordings |
Retrieving older decisions is why I would choose Pro for this workflow. Unlimited meeting history does not mean unlimited recording retention. Business becomes relevant when the company needs to enforce shared settings. Official pricing
Free API limits are three requests per second and 20 per minute. Pro and Business allow 20 per second and 300 per minute. API keys, MCP, and CLI tokens share the account's allowance; creating another key does not increase it. API limits
Six settings to connect the workflow
1. Output language: Settings → Preferences
Select Japanese to generate notes, action items, and insights in Japanese, including for English meetings. The transcript stays in the spoken language. I can read a summary in Japanese while checking the original wording separately. Language settings
2. Meetings to record: Settings → Calendars
Connect your calendar first. For accepted internal and external meetings, enable Internal, External, and Organized by someone else, and leave Declined or pending off. On a personal-email account, Internal appears as All meetings. Calendar-based automatic joining applies to meetings with a supported online meeting link. This avoids sending the bot to invitations I declined or have not answered.
For a meeting where I do not want a bot participant, turn joining off for that meeting in Home and use the desktop app if recording is appropriate. The individual toggle overrides the general preference. Joining preferences
3. Slack delivery: Automations → New automation
Start with no conditions and add a Slack action for notes and action items. Use a dedicated channel whose members should receive the selected meetings. Huddle capture is a separate connection in step 4.
After observing the volume, narrow delivery with tags, meeting names, or participants. Add customer sentiment classification later. The initial goal is simply that a meeting ends and its notes arrive in Slack.
4. Huddles: Settings → General → Slack → Connect
Use General under Workspace. Enter the Slack workspace URL, then invite the email address Circleback provides as a regular Slack member. The official guide specifies a multi-channel guest for workspaces using SSO.
Add Circleback to private channels where it should join huddles. Connecting the notification app in step 3 does not complete this participant setup.
5. API keys: Settings → API keys
A key is shown only when created. Save it immediately in a password manager such as 1Password with access scoped to the sync process. It does not belong in the notes repository or a prompt.
The API exposes meeting data you are allowed to access, including notes, action items, transcripts, recordings, people, and companies. With tl;dv, I collected data through Google Drive. Circleback offers the API as a direct sync source.
If you only want to ask Claude Code about meetings, MCP is a shorter setup. The official command adds the connection; /mcp in Claude Code completes OAuth authentication. This is a setup example, not a command executed while producing this article.
claude mcp add --transport http circleback https://circleback.ai/api/mcpAPI authentication and data scope · Official Claude Code MCP setup
6. Previous meetings: Settings → Import
Connect a supported previous tool to import notes, transcripts, attendees, and available recordings. Each team member imports their own meetings. The official announcement says existing sharing recipients carry over. Check Import for support for your specific source. Meeting import announcement
Four checks when capture or delivery fails
The first hurdle is often the connection, rather than transcription.
- Notification delivery and huddle participation are separate settings. If notes arrive but the bot never joins a huddle, check step 4.
- For private-channel notifications, add the Circleback app first. Check Channel details → Integrations → Apps.
- A direct-message huddle does not invite Circleback automatically. Open Invite people in the huddle menu and add it.
- Check matching Slack/Circleback emails and membership in the same Circleback workspace.
Calling both connections “the Slack integration” makes it easy to lose track of which one is complete. Check the notification setup separately from huddle participation.
The 22:00 sync is for tomorrow's work
The routine after recording remains much the same when I change tools. On days with important work, I reduce the meetings I attend. Notes and action items arriving in Slack leave me a way to catch up later.
At 22:00, I sync notes into my work-notes repository and have Claude summarize them. The point is more than another backup: before starting tomorrow's work, I want to ask for last week's decisions and the follow-ups that remain open.
Before turning a customer meeting into an article or general knowledge, I generalize it. “Meeting with Company A” becomes “a client meeting,” and specific circumstances are reviewed for what can be made public. Replacing a company name alone is not enough.
For my standup log, I extract utterances with an exact match to my speaker label. Asking AI to infer which statements were probably mine can mix in someone else's words. Exact matching also inherits any errors in the source labels; check the original for duplicate names or unidentified speakers.
Circleback returns speaker-labeled transcripts through its API, providing a way to select my contributions before sending text to AI. That selection does not have to be a new guessing task each morning.
When implementing a sync, follow the list endpoint's Link header with rel="next" for subsequent pages, and honor Retry-After after a 429. Saving only the first page does not retrieve the whole archive. The 22:00 schedule belongs to my workflow; it is not a Circleback default. This article does not newly configure that sync or retest it against real meeting data.
Run the code that extracts only your standup contributions
I made the speaker-selection step reproducible locally. The transcript API, checked on October 1 and rechecked on October 5, 2026, returns an array of utterances from GET /meeting/{meetingId}/transcript. This example uses each utterance's speaker, text, and timestamp.
The condition is strictly row.speaker === speaker. It does not change case, trim trailing spaces, or normalize Unicode variants. Merging similar labels could put someone else's statements in my log. The output retains the text unchanged, alongside a caller-supplied meeting ID and date, a meeting link, and each utterance's original array position, sourceIndex, and timestamp. Positions start at zero and may change if a transcript is revised; they are not permanent utterance IDs.
Save these three files in the same directory to try it without an API key:
- Selection function: transcript-speaker.mjs
- Seven synthetic utterances: standup-fixture.json
- Runner: standup-demo.mjs
bun standup-demo.mjs
# With Node.js 22 or later, node standup-demo.mjs also works.The selected label in this fixture is Demo Saki. Of seven utterances, only the two at positions 0 and 5 match. Demo Saki Tanaka, demo saki, Demo Saki with a trailing space, an unidentified speaker, and an empty label are excluded. Here is part of the output:
{
"selectionStatus": "matched",
"inputCount": 7,
"matchedCount": 2,
"excludedCount": 5,
"selected": [
{ "sourceIndex": 0, "speaker": "Demo Saki", "text": "今日は同期処理の再試行を直します。", "timestamp": 0 },
{ "sourceIndex": 5, "speaker": "Demo Saki", "text": "The retry test is still pending.\nI will check it after standup.", "timestamp": 21.25 }
]
}With no matching label, selectionStatus becomes no_match and selected is empty. Check the requested label before treating that result as “I said nothing today.” Malformed input stops the transformation, including a broken utterance that would have been excluded. It must not look as though the entire transcript was read successfully.
This code cannot distinguish two people speaking under the same name. The official response example has no person ID for the speaker. Check the original meeting labels and rule out same-name collisions before passing confirmedUniqueSpeaker: true. That flag records your confirmation; it is not evidence that the code detected duplicate names. Leave ambiguous meetings unextracted and inspect the source.
Six tests check the two expected statements, label variants, unchanged text and input order, empty input and absent labels, the same-name limitation, malformed input, and URL escaping for meeting IDs. They establish selection behavior on synthetic data. They do not measure speaker-recognition accuracy in real recordings. For a first real use, compare the result with the source speaker labels from one standup you have permission to process.
Give AI the work context, not just the summary
My design keeps the source meeting and date, decisions, open tasks, owners, and a way to inspect the original statements. This is a choice about how I retain and use data, rather than the name of a Circleback feature.
“We might ship next week” and “We agreed to ship next week” are different. Turning a proposal into a decision or assigning an unowned task to the meeting organizer can produce a readable summary that sends work in the wrong direction. Leave an unknown owner unresolved. An unidentified standup speaker does not belong in my personal log.
A task mentioned in an old meeting may already be done. If tasks are exported, check their current state in the destination before treating them as still open. The notes preserve the basis for a decision; the task tracker holds its current progress.
I want to be able to give Claude Code a request like this:
List the agreed changes from last week's recurring meeting and the huddles that followed, in date order. Separate proposals from decisions. Include confirmed owners and source meetings for follow-ups. Leave anything uncertain unresolved.
When an answer looks questionable, I can inspect the original statement and decide for myself. Being able to revisit a judgment matters more to me than adding another recording.
What the evidence covers
The 22:00 repository sync and exact speaker-name extraction for my standup log come from my workflow since using tl;dv. They are not results from retesting a Circleback sync against real meetings. The huddle requirements, API data scope, and prices are grounded in the linked official documentation and the pricing screen rechecked on October 5.
I ran the task transformation in the separate Circleback webhook experiment. Three synthetic items produced two pending tasks, one of which needed an ownership review. Transforming the same input twice produced identical keys. The completed item stayed completed, and a missing owner stayed unresolved.
The input and code are in the synthetic-data demo; the companion article lists the files and commands needed to run it. Those results establish the local transformation behavior. They do not measure real-meeting extraction accuracy or destination-side protection against duplicate writes.
Spend the first week on steps 3 and 4
Connect Slack delivery and huddle participation first. Decide which meetings belong in the feed and who should receive them. Observe it for a week: do people read the notes, pick up the tasks, or find the volume excessive? Add API sync and historical imports after that.
Meeting notes are becoming material an AI reads before work, as well as a record a person opens afterward. For my combination of Slack discussions and Claude Code, Circleback is the first option I would choose today.
For help with setup, backups to your own drive, or connecting meeting notes to tasks executed by an AI agent, contact me on LINE. The Circleback referral link is in the service card below.
FAQ
- Q. Which workflow makes Circleback worth choosing?
- This guide targets Slack huddle discussions, meeting notes and tasks read in Slack, and past decisions retrieved through Claude Code. If the workflow requires ongoing access to meetings older than 30 days, history retention is a reason to consider Pro.
- Q. Is a meeting summary enough context for AI?
- For this workflow, keep the source meeting and date, decisions, open tasks, owners, and a way to inspect the original statements. Leave uncertain speakers or owners unresolved rather than asking AI to invent them.
- Q. Is Circleback Pro $15 with monthly billing?
- On October 5, 2026, the official price was $15 per user per month with annual billing, or $18 with monthly billing. Business displayed $25 with annual billing and $29 with monthly billing.
- Q. Does connecting Slack notifications also enable huddle capture?
- They use separate setup paths. Notifications are configured in Automations. Huddle participation connects through Workspace Settings → General → Slack and requires inviting the provided email to Slack. DM huddles need a manual invitation.
- Q. Is the 22:00 sync a built-in Circleback schedule?
- No. That time belongs to the author’s notes workflow. A repository sync and schedule must be supplied separately. The sync was not retested against real meeting data while preparing this article.