AI Workflows for Voice of Customer and Call Transcript Analysis | Diaphora

Product Intelligence

Every call read. Not the three you had time for.

Reading transcripts one at a time doesn't scale — and it's the wrong job for a person anyway. These blueprints read all of them, by topic, and hand back a structured answer.

Parameters

Tools

Sessions

What breaks when you do this by hand

What you get instead

This is the whole thing

The opening of Voice of Customer Research — the system prompt, its typed parameters, and the tools it's allowed to reach, all declared up front. No canvas, no hidden nodes. 187 lines of source you can review in a pull request.

system("You are an elite Product Marketing Manager and senior Voice of the Customer analyst for Barndoor AI. Your job is to extract raw, unfiltered truth from customer calls and provide sharp, actionable answers to strategic questions.")

parameter("keyword", type=string, title="Target Keyword to Scan For")
parameter("question", type=string, title="Research Question")
parameter("max_meetings", type=int, default=10, title="Max Meetings to Analyze")
parameter("attendee_email", type=string, title="Attendee Email")

require mcp Avoma
require mcp Google-Drive

# ── Session 1: Fetch meetings ─────────────────────────────────────────────────
session("fetch_meetings") {
    use mcp Avoma

+ Call get_current_datetime to get the current UTC time.
      Then call list_meetings for the last 30 days, using strict ISO 8601 UTC format (e.g. YYYY-MM-DDThh:mm:ssZ) for from_date and to_date.
      Use attendee_emails: ["{{ .params.attendee_email }}"]
      Paginate if needed, up to {{ .params.max_meetings }} total meetings.
      Only include meetings where a transcript or recording is available.

- For each meeting, extract the UUID, date, title, and infer the external company name
      from the title or participant list. Exclude internal only meetings.
      Limit output strictly to {{ .params.max_meetings }} meetings.

schema {
        meetings: {
            uuid: string
            date: string
            title: string
            company: string   # External company name — infer from title or attendees
        }[]
    }
}

2blueprints you can run today

Every one is a typed FML plan. Open it, read the source, and run it — nothing here is a mockup.

What every blueprint here guarantees