Tools
Grain
Meeting recordings, transcripts and highlights, with sharing and webhooks.
Official site: grain.com
What it does
- List and read recordings, with the AI summary and highlights
- Read a full transcript as text, VTT or SRT
- Tag, rename or share a recording with a person or a team
- Subscribe to new recordings through a webhook
A personal access token is not a personal scope. Listing recordings without a filter returns every workspace-visible recording in the organization — colleagues' calls the token holder never attended, sorted newest first — which is Grain's documented behavior, not a bug. Asking for your own meetings means saying so: filter on attendance, or read someone else's week by accident.
Why through Tulina
Most systems now publish their own way for a model to reach them, and that is a good thing — it is what Tulina connects to. The connection was never the hard part. Deciding who may use it, what it is allowed to return, and what the model knows before it asks: that is.
The keys stay in one place
Connect Grain once. The credential is encrypted in a vault, never held in clear, and never pasted into a chat or a workflow file. A person uses their own key where they have one, their team's where they do not, the organisation's after that — so nobody is blocked and nobody is handed more access than they need. Revoke it once and everything running on it stops.
What leaves is filtered before it leaves
Roles decide who can reach Grain at all. Beyond that, a policy on the connector itself decides what comes back: fields dropped, identifiers masked or hashed, people pseudonymised. The data is minimised at the source rather than after it has already reached a model.
Every call is on the record
Runs are logged for the organisation — what was called, by whom, when. That is what makes an automated action reviewable after the fact, and what a security review asks for first.
The run starts knowing your company
A direct connection gives a model access. It does not tell it how your company names things, which accounts matter, or what was decided last quarter. Tulina carries that across every tool, so the same request against Grain returns something usable instead of something generic.
Processes that run on Grain
None published yet.