Krisp
ProductivityKrisp is an AI meeting assistant that records, transcribes and summarizes calls. FlowRunner agents read the meetings a key holder can see, pull transcripts, AI notes and action items, import outside recordings for transcription, and react the moment Krisp finishes a note.
What This Integration Enables
Krisp is an AI meeting assistant, and the interesting thing about its API is how deliberately narrow it is. A personal API key acts as the user who created it and sees exactly what that user sees in the app: meetings they own and meetings shared with them directly. Meetings shared only by a public link, and workspace-wide meetings nobody handed to the key holder, stay invisible. That is not a gap to work around. It means a Krisp flow is built around a person's calls rather than a firehose of everybody's, which is the right shape when the content is customer conversations and the connector is reading them into systems other people can search. FlowRunner agents use that access to list and search meetings, pull the speaker-resolved transcript, flatten Krisp's recursive AI note tree into readable text, and collect the action items with their completion state, assignee and due date.
The second thing worth knowing before you automate it is that Krisp will transcribe on demand but will not summarize on demand. Import Recording pushes an outside audio or video file into the account and transcription follows on its own, but AI notes are produced only when a person opens that meeting in the Krisp app and clicks Generate notes. No API route triggers it, so a flow that imports a recording and waits for its notes waits forever. Build the import path around the transcript, which does arrive. There is a related trap in the timing: a meeting becomes readable roughly a minute before its transcript is populated, and an unpopulated transcript is indistinguishable from a meeting where nobody talked. Get Meeting Transcript returns a transcriptReady flag precisely so an agent can tell the two apart. Both of these are the ordinary condition of real integrations, and they are why FlowRunner treats human-in-the-loop as a default rather than an exception: the agent does the reading, the filing and the waiting, and a person is asked at the point where being wrong would be expensive.
Without FlowRunner
With FlowRunner
Use Case Scenarios
-
Call outcome into the system of record
An account team runs discovery calls all week. On Note Generated fires as Krisp finishes each write-up, and the agent calls Get Meeting Notes for the flattened summary and the extracted action items. It files the summary as a meeting note against the account in Notion, opens an issue in Linear for every action item that has a named owner and a due date, and posts a short digest into the deal channel with Slack so the rest of the team sees the outcome without opening Krisp. The reps stop writing the same call up twice, and the account record reflects what was actually said rather than what someone found time to type.
-
Building a searchable call archive
List Meetings walks a date range, Get Meeting Transcript returns the speaker-resolved segments and a plain-text rendering for each, and the agent appends the text to a sheet with Google Sheets alongside the meeting title, duration and tags. This is worth doing because Krisp's own search does not cover transcript text: the Search parameter on List Meetings matches titles, notes and participants only. Exporting the text is how the words spoken on a call become searchable at all, and the same rendering can be handed to an agent to draft a follow-up email or a release note from what was said.
-
Bringing outside recordings in
A team has a webinar export, an uploaded interview or a recording from a call Krisp never sat on. The agent calls Import Recording with the file URL, then polls Get Import Status until it reports ready, then reads the transcript once transcriptReady is true. Because Krisp accepts only one import starting at a time, the agent runs a queue rather than firing them in parallel, and because a file over 1 GB or one that will not fit the account's remaining storage is rejected up front rather than after the upload, the agent knows immediately which recordings need a different route. Before any of that runs, the import itself goes to a person, for the reason below.
Human-in-Loop Highlight
Import Recording is the only operation here that writes anything, and it is the one that cannot be walked back. Uploading a file creates a meeting in the key holder's Krisp account, consumes account storage that was checked against the remaining balance before the bytes moved, and makes a transcript of that conversation visible to whoever the key holder shares meetings with. This connector has no delete: nothing in the action list takes the meeting back out. It also matters who is on the audio, because a recording sourced from somewhere else may capture people who never agreed to a transcript of themselves living in this workspace. So the agent gathers the case and stops. It posts the file name, the declared size, the remaining storage from the import check and where the file came from, and asks the account owner: "Import this recording into your Krisp account? It creates a permanent meeting and there is no way to remove it from here." The queue holds until someone answers. Everything downstream of the import, the transcript read, the archive write, the follow-up draft, runs without anyone watching.
Agent Capabilities
9 actionsAccount
1- Get Key Holder Identity Returns the profile of the Krisp user whose API key the connection uses, along with the team and workspace it belongs to. Used to confirm a connection works and, more usefully, to establish whose meetings this flow can actually see before it starts filing anything on that person's behalf.
Meetings
4- List Meetings Returns a page of meetings the key holder owns or that were shared with them, with full-text search over titles, notes and participants plus date range, tag and ownership filters. Only meetings that have finished processing appear, so a recording imported moments ago is not listed until its transcript is ready. Used to walk a date range for an archive job or to find the meeting a downstream record refers to.
- Get Meeting Returns the full record for one meeting, with optional toggles to include the transcript and the AI notes. Krisp treats those two as heavy fields and omits them by default, and asking for them on their own would return nothing else, so this operation requests the complete metadata set alongside them. Used when a flow needs the meeting's details and its content in a single call.
- Get Meeting Transcript Fetches a meeting's transcript and resolves every segment's diarization index into a speaker name, falling back to the vendor's own "Speaker N" label where Krisp assigned nobody. Returns the timed segments, a ready-to-read plain-text rendering and the speaker roster, plus a transcriptReady flag so a flow can tell an unfinished transcript from a quiet meeting. Used for archives, for search, and as the input an agent drafts from.
- Get Meeting Notes Fetches a meeting's AI notes and flattens Krisp's recursive block tree into readable text while still returning the original blocks. Covers summary, key points, action items and any custom template sections, and separately extracts the action item blocks with their completion state, assignee and due date. Returns hasNotes false when a meeting has none yet, which is the normal state for a recording imported through the API. Used to file a call summary somewhere a team already looks.
Action Items
1- List Action Items Returns the action items Krisp extracted from meetings the key holder can see, each carrying the meeting it came from, filterable by completion state or narrowed to items assigned to the key holder. Titles come back cleaned: Krisp's placeholder token for an unidentified speaker is resolved to a readable name and its trailing whitespace is trimmed, so an item can be used as a task title directly instead of creating a ticket called "{{Speaker_1}} to schedule a follow-up". Used to sweep for commitments a trigger may have missed.
Tags
1- List Tags Returns the key holder's tags, optionally narrowed by a name prefix. Tags are how meetings are organized in Krisp, and the ids returned here are what the Tags filter on List Meetings expects. Returns up to 100 tags in one response and is not paginated. Used to resolve a tag name into the id a filtered query needs.
Recordings
2- Import Recording Uploads an audio or video recording to Krisp for transcription in a single step, folding the vendor's three-part sequence of start, presigned upload and file transfer into one operation. The file is pulled from a FlowRunner file or any URL reachable without authentication, and the Krisp credential is never sent to the source or to the storage endpoint. Returns as soon as the bytes are delivered, because transcription takes minutes. Files are capped at 1 GB and checked against remaining account storage before the upload begins. Used to bring recordings Krisp never captured into the same archive as the ones it did.
- Get Import Status Reports where an import has reached: uploading while the file is still in transit, processing while the meeting is being created and transcribed, ready once a meeting id exists, or failed with a reason. Ready means the meeting is readable, not that its transcript has landed, so pair it with the transcriptReady flag before reading text. Used to drive the wait between an import and everything downstream of it.
Triggers
9 triggersEvent Triggers
9- On New Meeting Fires once for each meeting that newly appears in Krisp, after its transcript has finished processing. It polls the meeting list and emits only meetings it has not reported before, and its first cycle records what already exists and emits nothing, so an existing backlog does not fire the flow for every historical call. Needs no setup at all, which makes it the right choice when nobody can change the Krisp account's settings.
- On New Action Item Fires once for each action item Krisp newly extracts, carrying the meeting it came from. Polls the action item list on the same shape as On New Meeting, emitting only items it has not seen and staying silent on its first cycle. Used to open tracked work from commitments without waiting for anyone to read the note.
- On Transcript Created Fires the moment Krisp finishes transcribing a meeting, carrying the speaker-labeled segments and a ready-to-read transcript. This is the realtime alternative to On New Meeting and arrives within seconds rather than on a polling interval. It needs a webhook created once by hand in the Krisp app, because Krisp exposes no API route to register one.
- On Transcript Shared Fires when a meeting transcript is shared, carrying the same segments and text as On Transcript Created. Used to react to a colleague sharing a call rather than to your own meetings finishing, which is a different workflow with a different owner. Needs the same one-time webhook.
- On Note Generated Fires when Krisp finishes a complete meeting note, carrying every section at once: action items, key points and the outline, plus the notes template used and a markdown rendering. This is the richest of the triggers and the one to build a summary-filing flow on. Needs the same one-time webhook.
- On Action Items Generated Fires when Krisp extracts action items from a meeting, carrying just that section with each item's assignee, due date and completion state. Used to open tasks in a tracker the moment a call ends. It overlaps with On New Action Item, so pick one of the pair rather than both. Needs the same one-time webhook.
- On Key Points Generated Fires when Krisp extracts the key points of a meeting, carrying just that section. Used for a short digest where the full note and the transcript would be more than anyone reads. Needs the same one-time webhook.
- On Outline Generated Fires when Krisp produces a meeting outline, a list of titled sections each with its own summary. Krisp omits the outline for meetings it judges too short to have one, in which case this never fires for them. Needs the same one-time webhook.
- On Recording Ready Fires when a meeting's audio or video recording is available, carrying a temporary download URL along with the file's type, size and expiry. Used to archive the media somewhere permanent, because the URL Krisp issues expires after roughly a week and the REST API exposes no equivalent. Needs the same one-time webhook.
Frequently Asked Questions
What can FlowRunner do with Krisp?
FlowRunner agents can run Get Key Holder Identity, List Meetings, and Get Meeting in Krisp, plus 6 more actions.
Does connecting Krisp to FlowRunner require OAuth?
No. Krisp connects to FlowRunner with an API key, no OAuth flow required.
Can Krisp trigger a FlowRunner workflow automatically?
Yes. Krisp supports 9 triggers that can start a FlowRunner workflow automatically.
Start building with Krisp
Free plan, no card required. Connect in minutes.