Set up (once, via the Scribe API)
Do this once per doctor through the Scribe API (institutional), with your institutional API key. Don’t have one? Ask your Telepatia contact.1
Register the doctor — save both keys
Create a doctor account. The response returns two keys, shown once:
publishableApiKey (pk_…) goes on the page; apiKey (sk_…) is the secret — backend only, never the browser.2
Create a smart template — save its id
Create a smart template. Save the returned
mrc_… id; you pass it to init().3
Create a webhook
Subscribe to
scribe_session.completed. Save the signingSecret to verify the calls. This is how your backend learns a note is ready.Add the script
Put the config block before the CDN tag. Serve the page overhttps or
localhost — the microphone needs a secure context. The embed reads
window.TelepatiaEmbedConfig at load and mounts itself.
Open the panel
The embed exposeswindow.TelepatiaEmbed. Call init() when the doctor clicks
record — it mounts and opens the panel. Pass the context your app already has so
the note comes back linked to the right consultation.
Get the result
YourexternalConsultationId is the Scribe API’s consultationInternalId —
same value, different name. When the scribe_session.completed webhook fires,
fetch the record on your backend with the secret key (sk_), never the browser:
- Look up the session —
GET /v1/scribe-sessions/{consultationInternalId} - List the record documents —
GET /v1/scribe-sessions/{consultationInternalId}/medical-record-documents