The format
A markdown file with a small header block, then the transcript itself:attendeeswith 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.
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) orPOST /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.
?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.
A reference pusher for Granola
If your team records calls with Granola, the Cortex repository ships a small script, the Granola collector, that reads each person’s notes through the Granola API, writes them in the format above and pushes them in. It routes by attendee: a call with anyone outside your own domains goes to the shared clients brain and Cortex decides the client; a call with only your own people goes to that person’s own brain, or nowhere. It runs on your side, on a schedule, with your Granola tokens; Cortex never polls Granola itself.Duplicates and retries
Send the same transcript twice, or let a flaky integration retry: as long asexternalId (or simply the identical content) matches, Cortex returns the existing item instead of creating a copy.