Skip to main content
Cortex does not tie you to one meeting tool. Two tools connect with a click, Granola and Read AI, and for everything else Cortex defines a simple transcript format and accepts it from anything that can make an HTTP request: your note-taker’s export, a script, a webhook, an automation platform, or your own agent. If a tool can POST a file, it can feed your brain.

The format

A markdown file with a small header block, then the transcript itself:
Two fields matter most:
  • attendees with email addresses. The meeting skill resolves people by email, not by guessing names from the dialogue, so filled-in attendees make the difference between “linked to the right Jane” and “a new page for a second Jane”.
  • externalId. A stable id from the source tool. If the same transcript is sent twice, Cortex recognises it and does not create a duplicate.
Everything else is optional. Even a bare transcript with no header works; the filing just has less to go on.

Where to send it

Any of the normal entry points. The transcript lands in the brain’s inbox and is filed like anything else, by your agent, by auto-ingest, or by you in the review queue.
  • The API, with a service credential: POST /api/v1/inbox (your default brain) or POST /api/v1/brains/{brain}/inbox (a named brain). See the API reference.
  • A webhook source on the brain: POST /api/ingest/{brainId} with the source’s secret. See webhooks.
You can add ?path=meetings (or any folder) to either URL to suggest where the meeting should file. It is a hint for the filing pass, not an order; the content itself can never choose its own destination.

Which client is this?

In a partitioned brain (a clients brain, say), every transcript is matched to a client when it arrives. Add ?partition=acme to the address if the sender already knows. Otherwise the attendee email domains decide: a call with people from acme.com and nobody from another client’s domain is Acme’s, and your own company’s domains never count. A transcript that cannot be placed waits as “needs a client” with its candidates, one click to assign, and the assignment can remember the domain for next time. Attendees with email addresses are therefore doubly valuable in a partitioned brain: they identify the people and they identify the client.

Connect a tool, or use your agent

Granola and Read AI are built in: connect one on the brain’s Settings page under Ingest sources, and its meetings arrive by themselves in this format, verified, deduplicated and filed. See Granola and Read AI. For any other tool, your connected agent is the manual route: give it the transcript (a file, an export, pasted text) and ask it to file the meeting. The ingest-meeting skill reads it, writes this format, uploads it as the source and files it, all in the conversation. Nothing to install and nothing to run on a schedule.

Duplicates and retries

Send the same transcript twice, or let a flaky integration retry: as long as externalId (or simply the identical content) matches, Cortex returns the existing item instead of creating a copy.