Pull insights from call recordings
A name, company, or email resolves to the right call, checked against your CRM first and then your recordings tool, with the pointer written back for next time.
- TriggerTriggered
Question asked in chat
- Completed
Normalize the input
- Completed
FolkResolve in your CRM
- Completed
FolkCheck for an existing pointer
- Completed
GranolaQuery the recordings tool directly
- Completed
FolkReturn it, and write back
"Can you find the call where they mentioned X" is a five-minute detour for whoever gets asked — open the CRM, guess at which note has the link, fail, open the recording tool, search by a name that might not match how the call got logged, and often give up before finding it.
Most of the time the answer is already sitting in the CRM from the last person who looked — a pasted link in a note nobody thought to search for directly. The rest of the time, the recording tool itself resolves it in one search, by whichever identifier actually works. Either way, the pointer gets saved back, so the same lookup is instant next time.
What you get
The right call, with its link, date, participants and summary, returned in seconds and the pointer saved back to your CRM for next time.
The part worth getting right
Checking the CRM before the recording tool is what makes this fast most of the time — someone has usually already found this exact call and pasted the link somewhere, and re-deriving it from scratch every time wastes a search that a well-placed field or note already answered.
Searching by company domain, not just the exact person, is what catches the case a name-only search misses: a call is often recorded against whoever hosted it, not every attendee, so the person you were asked about may show up on a colleague's call instead of their own.
Writing the pointer back after a direct-query hit is what turns this from a one-off answer into a system that gets faster every time it runs. Skip that step and the same account gets the slow path again next time, indefinitely.
The prompt
The real prompt behind the steps above — detailed enough that an agent with a people-search tool, email/phone enrichment, and CRM access can run it as written.
# Find the recording of a call from a name or email
You have access to your CRM and a call-recording tool. Run this for
**[an email address or a company name]**.
## 0. Set up (skip if you're already connected)
If you don't already have live tool access for this, connect it first
— this prompt is only as real as the tools behind it:
1. Create a free account at app.tulina.ai.
2. Add Tulina's MCP server to your assistant: https://mcp.tulina.ai/mcp
3. In Tulina, connect your own API keys for the tools this prompt uses
— your CRM and your call-recording tool.
Once connected, your assistant has real tool access and the rest of
this prompt runs as written.
## 0b. Already on Tulina? Three things around the run
An account and the MCP server are not the whole setup. Two of these come
before the run below and one after it, and together they turn this from a
one-off answer into a process your workspace keeps:
1. **Activate this process's connectors first.** Call
`oto_connector(op="list")`, match it against the tools named in step 3
above, and `oto_connector(op="select", name="...")` every one that
isn't active yet. Selecting a connector does not mount its tools in the
conversation you're already in — reach them through `oto_call` for this
run, or open a fresh conversation once they're all on.
2. **Attach the work to an existing project.** `oto_project(op="list")`
shows your active org's projects: pick the one this work belongs to
rather than opening another, and keep its id. The project is where this
process, the tables it writes to and the connectors it uses hang
together.
3. **When the run is done, save it as a process — with its graph.** Write
the body with `oto_procedure(op="set", ...)`, then attach it with
`oto_project(op="link", project_id=..., target_type="procedure",
target_ref="<your slug>")`. The body has to carry a drawing: read
`oto_guide(op="read", slug="procedure-flowchart")` and follow it
exactly — ONE untagged fenced block in that grammar, opening with the
trigger and a quoted example of what you'd type to start a run. Tulina
parses that drawing back into the graph it renders as the process's
default view, which is what makes it come out in the same style as
every other process in the app; a drawing the grammar can't read falls
back to raw characters instead. Saving a process needs org-admin
rights — without them, hand the finished body to someone who has them.
Never invent a call, a date, or a quote. "No call found" is a complete
and valid answer — don't reconstruct one from notes and present it as a
recording.
## 1. Normalize what you were given
- An email at a company domain gives you both a person and a company —
keep both, since the call may be logged against a colleague rather
than the exact person you were given.
- An email at a free mailbox (gmail, outlook, and similar) gives you a
person only. Never infer a company from a free-mailbox domain.
- A bare company name may be ambiguous. Resolve it to one record before
going further — two similarly-named companies is a question worth
asking rather than a guess worth making.
## 2. Resolve the person or company in your CRM
Search by whichever axis you have — email for a person, name or domain
for a company. From a person record, read their linked company; from a
company record, list its people. If the company name was ambiguous,
confirm which record before continuing.
## 3. Check whether your CRM already has the recording
Most of the time, the pointer is already there — someone pasted the
link into a note, an interaction, or a dedicated field the last time
they found it. Check, in order:
- Any custom field on the company or contact record that looks like a
recording link — list the record's custom fields first if you're not
sure what it's called in your CRM, rather than assuming it's absent.
- Notes scoped to the company and the contact — search by company name,
contact name, and the recording tool's own domain, since a pasted
call URL contains it.
- Logged interactions — these often carry the link, or at minimum a
date that narrows the next step to a single day.
If you find a match, that's the answer — return the most recent one,
and note how many others exist. There's no need to query the recordings
tool directly once the CRM already has the pointer.
## 4. Query your recordings tool directly, if the CRM had nothing
Search by the participant's exact email, and separately by the
company's domain over a reasonable window (a year back is a sensible
default) — the call may be recorded against a colleague rather than the
exact person you started from, which is exactly the case your CRM
couldn't answer. Fetch the matching call: title, date, duration,
participants, and a summary.
If several calls match, the most recent one wins — list the others
rather than dropping them silently. If searching by the person's own
address returns nothing, retry on the company domain before concluding
there's no call.
## 5. Return the call, and write the pointer back
Answer with: the call link, its date, the participants, and a one
paragraph summary — plus which CRM record it belongs to.
If the call was found by querying the recordings tool directly and your
CRM had no pointer to it, write it back — set the field, or log a note
— so the next lookup for this account is a step-3 hit instead of a
step-4 one.
## Output
Report: which step resolved the call (CRM pointer vs. direct query),
the call details, how many other matches existed if more than one, and
whether a pointer was written back to the CRM.
Questions about this process
Related processes
- Keep your knowledge base current
Every morning, the previous day's activity gets read across your team's tools and synthesized into what changed, automatically and unattended.
- Call feedback becomes tickets and docs
Every call recorded during the day is distilled overnight, with bugs and feature requests routed to the right team as tickets and docs, plus a Friday digest.
- Find contacts for signal accounts
Companies that already showed interest but have nobody linked get the right people found by role, deduped, and added to outreach automatically.