> ## Documentation Index
> Fetch the complete documentation index at: https://docs.alpha.isaree.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Build a Scribe Agent

> Build a Scribe Agent on the Community Hub that you and other clinicians can use from Patient Chat in Isa.

This guide walks through building a [Scribe Agent](/concepts/scribe) end-to-end on the [Community Hub](https://alpha.isaree.ai/en/community). By the end you'll have a Scribe Agent that you and other clinicians can download to Isa and use from [Patient Chat](/isa/patient-chat).

A Scribe Agent bundles four things into one downloadable package: an [ASR model](/concepts/asr-models) for transcription, an optional [diarization model](/concepts/diarization-models) for telling speakers apart, an extraction LLM that turns the transcript into structured fields, and one or more Extraction Templates that define what those fields are.

You can build from scratch or duplicate an existing Scribe Agent on the Community Hub and adapt it.

## Prerequisites

* A Community Hub account
* A clear idea of what the Scribe Agent should produce — the documentation format (e.g. SOAP note, discharge summary, referral letter) and the fields it should fill

## Open the build form

Sign in to the [Community Hub](https://alpha.isaree.ai/en/community) and start a new Scribe Agent from the **Build** menu in the top navigation. The form opens with the Scribe Agent's fields ready to fill in.

## Name your Scribe Agent

Names are how other clinicians find your Scribe Agent in the [Isa Hub](/isa/browse-hub) — prefer something concrete like `GP Consultation Scribe` over `My Scribe Agent`.

## Describe the intended use

The **Intended Use** field is what other clinicians read when they find your Scribe Agent in the Isa Hub. One or two sentences on what the Scribe Agent transcribes and what shape of note it produces is enough.

## Pick a category and add keywords

* **Category** — Admin or Clinical.
* **Keywords** — comma-separated tags that help others find your Scribe Agent when searching. Add a few that match the specialty, the documentation format, or the use case (e.g. `dermatology`, `SOAP`, `follow-up`).

## Pick an ASR model

The ASR model is what turns the audio into text. Set your device — iPhone, iPad, or Mac — and the selector recommends models that fit: pick from the Isaree-recommended set or search the open-weight models on Hugging Face. Each model carries a **Runs / Needs X GB** badge, the same fit treatment as [Agent models](/hub/build-agent#pick-a-model).

For why the estimates look conservative, see [Choose a model](/guides/choose-a-model).

<Tip>
  You can fine-tune your own medical ASR model on your dictations, upload it to Hugging Face, and select it here. See [Train your own medical voice AI](/guides/train-medical-voice-ai).
</Tip>

## Pick a diarization model

The diarization model separates the speakers — yours from the patient's — so the extraction step knows which words came from whom. It's optional: leave it on **None** if the consultation is dictation only or if speaker attribution doesn't matter for your template.

## Pick an extraction LLM

The extraction LLM is the [on-device](/concepts/on-device-vs-cloud) model that turns the transcript into your template's structured fields. It's required — every Scribe Agent ships one. Extraction is independent of the [Primary Agent](/isa/primary-agent): whichever model the clinician talks to in Isa, extraction runs on the model you pick here.

Pick a model that fits the device your audience uses — see [Choose a model](/guides/choose-a-model). At recording time, the clinician can route extraction to a cloud provider instead — see [Understand where the pipeline runs](#understand-where-the-pipeline-runs).

## Create Extraction Templates

Extraction Templates are where you define the information to be extracted from the conversation. One Scribe Agent can hold several templates, and the clinician picks which one to use before the consultation. A single `GP Consultation Scribe` could ship with a SOAP note, a referral letter, and a sick note — same transcription, three different structured outputs.

Add a template for each shape of note this Scribe Agent should support. Each template has three parts:

* **Template name** — what shows up when you pick a template in Patient Chat. Use the documentation format the user will recognize (e.g. `SOAP Note`, `Discharge Summary`).
* **Extraction prompt** — the instructions sent to the model that does the extraction. Tell it what role to take, what to look for in the transcript, and how to handle missing information. This is where most of the quality work happens.
* **Output schema** — the structured fields the extraction fills in. Build it visually by adding one field at a time, or paste a JSON schema directly.

In the visual builder, each field has:

* **Field name** — the key in the structured output. Use snake\_case (`chief_complaint`, not `Chief Complaint`).
* **Type** — String, Number, Integer, Boolean, Enum, or Object (nested).
* **Description** — a short hint that helps the extraction model decide what belongs in this field.
* **List of these** — tick to make the field an array: a list of whatever type you picked, including objects.

Schemas aren't limited to flat fields. Nest objects and arrays to model structured sections — a medication list whose entries each carry a name, dose, and frequency, or a vitals object grouping related measurements. The editor validates the schema live as you type and won't let you save one that would break the Scribe Agent. It's fully localized in English and German.

<Tip>
  The extraction model uses the field name and description together to decide what to write. A descriptive name and a one-line hint give it more to work with than the name alone.
</Tip>

## Build the Scribe Agent

Once the required fields — **Agent Name**, **Intended Use**, **ASR Model**, and **Extraction LLM** — are filled in, build the Scribe Agent. It now exists on the Community Hub and is ready to download from the [Isa Hub](/isa/browse-hub).

<Tip>
  Extraction Templates aren't strictly required by the form, but a Scribe Agent without one can't produce a structured note. Add at least one before you build.
</Tip>

## Understand where the pipeline runs

Everything you pick on this form — the ASR model, the diarization model, and the extraction LLM — runs on the user's device. A clinician who keeps those defaults runs the whole pipeline [on-device](/concepts/on-device-vs-cloud): neither the audio nor the transcript leaves the device.

At recording time, the clinician can route individual steps to the cloud instead, using their own API keys: transcription (and diarization) via ElevenLabs, extraction via OpenAI or Aki.io. Those switches live in the recording flow in Isa — see [Scribe in Isa](/isa/scribe) — not on this form.

<Warning>
  A Scribe session is only fully on-device when transcription and extraction both run on the models bundled here. Routing transcription to the cloud sends the recording off-device; routing extraction to the cloud sends the transcript off-device.
</Warning>

## Next

<CardGroup cols={3}>
  <Card title="Train your own medical voice AI" icon="microphone-lines" href="/guides/train-medical-voice-ai">
    Personalize an ASR model on your own dictations for your specialty.
  </Card>

  <Card title="Scribe in Isa" icon="microphone-lines" href="/isa/scribe">
    What clinicians see when they run your Scribe Agent in a Patient Chat.
  </Card>

  <Card title="Build an agent" icon="screwdriver-wrench" href="/hub/build-agent">
    Build a general-purpose Agent for Patient Chat or Workspace.
  </Card>
</CardGroup>
