Dopamine Notetaker

Launch your notetaker SaaS on the most complete Recall.ai integration

Put it online under your brand, sell it to your customers, keep the margin. Full Next.js and NestJS source code.

ARR in month 24

+10.9%

€1.02M

€84,933 MRR, €76,581 the month before

Customers
385
Gross margin
50%
With Dopamine NotetakerBuilt from scratch, live 3 months later
License paid back
Month 6
Revenue won by the head start
+€230K

Totals since launch, through month 24

Calls recorded
409K
Hours transcribed
273K
AI summaries
532K
MCP calls from AI agents
2.45M
Example scenario, not a forecast: 5 new customers in month 1, growing 10% a month, 2% monthly churn, 5 seats per customer. €30 per seat with 3,000 credits included, usage beyond that billed at the kit's 2× margin. Each seat records 25 calls of 40 minutes and makes 150 MCP calls a month. Built from scratch launches 3 months later. Payback compares gross profit with the €9,500 license.

A business you launch, not a tool you use

Dopamine Notetaker is the source code of an AI notetaker SaaS. You put it online under your brand and sell it to your customers: their meetings on Zoom, Google Meet and Microsoft Teams are recorded, transcribed and summarized, and you bill every hour through Stripe. It runs on the most complete Recall.ai integration you can buy, with Next.js, NestJS, multi-tenant workspaces, S3 storage and AI summaries from OpenAI, Anthropic and Mistral models. The same engine runs Goelo, an AI meeting assistant in production.

Your brand
Your product name, your domain. The bot joins every call under your brand by default, and each customer can set their own bot name and join message.
Your customers
Each customer gets a workspace with team invitations, roles and calendar sync, plus an MCP server so their AI assistants (Claude, ChatGPT, Cursor) can search their meetings.
Your revenue
Customers pay through Stripe and spend credits per recorded hour and per AI summary. Every charge stores its vendor cost, so you see your margin per customer.

From calendar to summary

How a customer's meeting flows through Recall.ai and your app.

  1. Connect

    Your customer connects Google Calendar or Outlook in your app, which registers the calendar with Recall Calendar V2.

  2. Sync

    Recall sends calendar.sync_events. Your app fetches only the events updated since the last sync, for each customer workspace.

  3. Schedule

    Auto-record rules and manual toggles pick the meetings to record. The customer's credits are checked before each bot is scheduled.

  4. Record

    The bot joins Zoom, Google Meet or Teams under your brand. Every bot.* status shows live in the customer's calendar.

  5. Archive

    On recording.done, the video streams from Recall to your S3 bucket, before Recall media retention deletes it.

  6. Summarize

    Recall transcribes with Gladia and the LLM writes the summary. Recording, transcript and summary are each charged to the customer's credits.

What the integration covers

27 Recall.ai capabilities available today, 1 in progress.

Calendar V2

  • Google Calendar and Outlook

    Your customers connect their calendar with OAuth in your app, and the refresh token goes to Recall Calendar V2. Reconnect and disconnect included.

  • Incremental event sync

    calendar.sync_events fetches only the events changed since last_updated_ts, following Recall cursor pagination.

  • Calendar health

    calendar.update keeps the connection status of each customer calendar in sync with Recall.

  • Auto-record rules

    Users record the meetings they organize, or toggle recording per event. A manual choice always wins over the rules.

  • Bot scheduling per event

    Bots are scheduled through Calendar V2 with a deduplication key, so syncing the same event again never adds a second bot.

Meeting bots

  • Ad-hoc bots from a meeting URL

    Users paste a Zoom, Google Meet or Teams link and a bot joins right away, no calendar needed.

  • Meetings already in progress

    When a user turns recording on after a meeting started, the bot joins right away.

  • White-label bot name and join message

    Your brand by default through BOT_DEFAULT_NAME. Each customer workspace can set its own bot name and join message, pinned on Google Meet.

  • Clean stop

    Deletes the bot before it joins, sends leave_call once it is in the meeting, does nothing if it already finished.

  • Notetaker detection

    The bot leaves when only other notetakers remain (Otter, Fireflies, Fathom and more) instead of idling on your Recall bill.

  • Zoom OBF tokens

    In progress

    Since March 2, 2026, Zoom requires an On Behalf Of token for bots joining meetings hosted outside your Zoom account.

Recordings and media

  • Archive to your own storage

    Each finished recording streams from Recall to your AWS S3 or OVH bucket, so it outlives Recall media retention.

  • Expired URL refresh

    Until the archive completes, expired Recall video URLs are refreshed on the fly.

  • Retention-aware deletes

    recording.deleted is ignored once the video is safe in your storage.

Webhooks

  • Signed webhooks

    Every webhook is checked against your Recall verification secret, an HMAC of the raw body, before any handler runs. Secret rotation is supported and the API refuses to start without a secret.

  • Bot status events

    Every bot.* status is stored with its sub code and shown live on the calendar: joining, waiting room, recording, done, fatal.

  • Retries and races

    Recall retries deliveries. Duplicate statuses are skipped and status writes are atomic, so two events in the same second both land.

  • Recording events

    recording.processing, recording.done, recording.failed and recording.deleted drive the recording lifecycle.

  • Transcript events

    transcript.processing, transcript.done, transcript.failed and transcript.deleted drive the transcription pipeline.

Transcripts and summaries

  • Async transcription through Recall

    Transcripts are requested from Recall with Gladia as the provider, with speaker names taken from the meeting participants.

  • Provider-agnostic format

    Recall normalizes transcripts across providers, so moving to another Recall-supported provider is a one-line change.

  • Calendar-aware summaries

    The title, attendees and organizer from the Recall calendar event feed the summary prompt, so names come out spelled right.

  • Admin recovery

    Admins can re-run a failed transcription or re-archive a recording from the admin API.

Billing and operations

  • Credit-aware scheduling

    When a customer runs out of credits, their upcoming bots are unscheduled, so you never pay Recall for a meeting nobody paid for. A top-up brings them back.

  • Vendor cost per meeting

    Each charge stores what the recording, transcription and summary cost you at the vendor, for margin reporting per customer.

  • Rate limits and outages

    Every Recall call retries 429 (honoring Retry-After), 503 and 507 with jitter, as Recall asks its clients to.

  • Any Recall region

    Point RECALL_API_HOST at the Recall region your customers need. No region is hardcoded.

  • Live UI updates

    Bot, recording and transcript changes reach the browser over Server-Sent Events, without polling.

Production details, already handled

The Recall.ai behaviors you only discover once real customers use your notetaker.

Two notetakers in an empty meeting

With Recall's defaults, two bots can sit in an empty meeting for up to 10 minutes: each counts the other as a participant, so the everyone-left timeout never fires.

Dopamine matches known notetaker names and leaves 30 seconds after only bots remain, so you stop paying Recall for an empty call.

Webhooks arrive twice, or in the same second

Recall retries deliveries and often sends two bot statuses within one second. Rewriting the status array on each webhook silently loses one.

Dopamine skips statuses it already stored and appends new ones atomically, so your customers' bot history stays complete.

Recall deletes the media

Recordings expire with Recall media retention. If your app links to Recall URLs, every old meeting of your customers turns into a broken video.

Dopamine archives the video to your bucket on recording.done, refreshes expired URLs until then, and ignores the delete once archived.

Bots scheduled days ahead, credits gone today

Calendar bots are scheduled when the calendar syncs, often days before the meeting. A customer with no credits left keeps getting bots that you pay Recall for.

Dopamine unschedules their upcoming bots when credits hit zero and schedules them again after a top-up, with each meeting keeping its recording choice.

Sample apps, DIY, or Dopamine Notetaker

Recall's open-source sample apps are the best way to learn the API. Dopamine Notetaker is what you ship to customers.

CapabilityRecall sample appsBuild it yourselfDopamine Notetaker
Calendar V2 sync and auto-schedulingStandalone demoYou build itIncluded
Ad-hoc bots from a meeting URLSeparate demoYou build itIncluded
Signed calendar, bot, recording and transcript webhooksA few events per demoYou build itIncluded
Customer workspaces, auth and rolesNot includedYou build itIncluded
White-label bot name per customerNot includedYou build itIncluded
Billing your customers (Stripe, credits)Not includedYou build itIncluded
Recording archive to your S3Not includedYou build itIncluded
AI summaries (OpenAI, Anthropic, Mistral)Single-prompt exampleYou build itIncluded
Production edge casesOut of scopeLearned the hard wayHandled
Time to a SaaS you can sellStarting point only3 to 6 monthsDays

Recall.ai integration FAQ

Is Dopamine Notetaker a notetaker for my own meetings?

No. Dopamine Notetaker is the full source code of a notetaker SaaS. You put it online under your brand, on your infrastructure, and sell it to your customers, who record, transcribe and summarize their meetings in your app. The license allows unlimited commercial products; it only forbids reselling the code itself as a boilerplate.

How do I make money with it?

Your customers pay you through Stripe and spend credits per recorded hour and per AI summary. The kit bills at 2 times the vendor cost by default: a one-hour meeting costs you about €1.20 at Recall.ai and Gladia and is billed €2.41 to your customer, before the summary. Prices, margin and plans are yours to change.

What is the most complete Recall.ai integration available?

Dopamine Notetaker is the most complete Recall.ai integration you can buy. It covers Calendar V2, the Bot API, and signed calendar, bot, recording and transcript webhooks inside a production SaaS with customer workspaces, Stripe billing, S3 storage and AI summaries. Recall's open-source sample apps each demonstrate one feature; Dopamine Notetaker wires them all together and ships as full source code.

Is there a Recall.ai starter kit for Next.js and NestJS?

Yes. Dopamine Notetaker is a Recall.ai starter kit built with Next.js (App Router) on the frontend and NestJS with Prisma and PostgreSQL on the backend, all in TypeScript. You get the full repository, rebrand it and deploy it as your own product.

Does Dopamine Notetaker use Recall Calendar V1 or Calendar V2?

Calendar V2. It gives per-bot configuration (bot name, join message, automatic leave) and full control over scheduling, at the cost of handling webhooks yourself. Dopamine Notetaker already handles them: incremental sync, calendar status updates and bot scheduling with deduplication keys.

Which meeting platforms does it support?

Zoom, Google Meet and Microsoft Teams, through Recall.ai bots, both from synced calendars and from a pasted meeting URL. Support for Zoom On Behalf Of (OBF) tokens, which Zoom requires since March 2, 2026 for meetings hosted outside your Zoom account, is in progress.

Which transcription provider does it use?

Gladia, through Recall.ai async transcription, with speaker diarization and participant names. Recall normalizes transcripts across providers, so switching to another provider supported by Recall is a one-line change in the Recall service.

Where are meeting recordings stored?

Recall.ai hosts each recording temporarily. As soon as Recall reports the recording as done, Dopamine Notetaker streams the video to your own AWS S3 or OVH Object Storage bucket, so your customers keep their recordings after Recall media retention.

Do I need my own Recall.ai account?

Yes. You bring your own Recall.ai API key and region and pay Recall.ai directly; your customers never deal with Recall. Every meeting records its vendor cost, so your prices keep a margin.

Does it use Recall.ai real-time streaming or the Desktop Recording SDK?

Not today. Dopamine Notetaker processes meetings after the call: recording, transcription, then summary. If your product needs live transcripts or bot-free desktop recording, book a call to discuss it.

Recall.ai is a trademark of its owner. Dopamine Notetaker is an independent product built on the public Recall.ai API.

LIMITED LAUNCH OFFER

Full Source Code License

Everything you need to launch your AI SaaS.

€12,000
€9,500
Save €2,500 (21%)
  • Next.js + NestJS Backend
  • Recall.ai Integration Ready
  • Gladia Transcription + 100h free
  • OpenAI + Anthropic + Mistral Summaries
  • Stripe Usage-based Billing
  • Google & Microsoft Calendar sync
  • Zoom, Meet, Teams support
  • Authentication & Multi-tenancy
  • Real-time SSE updates
  • Slack notifications
  • S3 Storage ready
  • Lifetime license
  • 1 year of updates
  • 1-on-1 onboarding call included

Secure payment via Stripe. Invoice provided automatically.
View license terms

Got questions?
Let's talk.
(no sales pitch, just answers)

Book a quick call to see if Dopamine Notetaker fits your project.