Package Information
Available Nodes
Documentation generating…
Documentation
n8n-nodes-diariz
An n8n community node for Diariz, a self-hosted
meeting transcription platform with speaker diarization.
Two nodes and one credential:
| Node | What it does |
|---|---|
| Diariz Trigger | Starts a workflow when something happens in Diariz. Registers its own webhook and verifies every delivery's signature. |
| Diariz | Drives the Diariz REST API: recordings, transcripts, formulas, folders, search, action items, chat, and everything else. |
Installation
In n8n, go to Settings > Community Nodes > Install and enter:
n8n-nodes-diariz
Self-hosted n8n only - community nodes cannot be installed on n8n Cloud. To pick up a newer version later,
use Settings > Community Nodes > n8n-nodes-diariz > Update, and restart n8n if a new option does not
appear.
The node's version number is the Diariz version it was built against - 0.169.1 here means Diariz
0.169.1 - so you can tell at a glance whether your node matches your server. It is published automatically
whenever the node changes.
Before you start
Two things must be switched on by whoever administers your Diariz server, in Settings:
| Setting | Needed for |
|---|---|
| API access | Everything. Without it, no personal API token works at all. |
| Automations | The Diariz Trigger only. Action nodes work without it. |
Then create a token in Diariz under Settings > Developers:
- Read-only tokens are enough for reading transcripts and searching. Every write operation is refused.
- A token can carry an expiry date, which is worth setting for a token pasted into another tool.
- The token is shown once. Copy it straight into the n8n credential.
Credential
Create a Diariz API credential with:
- Base URL - your server, for example
https://diariz.example.com - API Token - the
dz_api_...token from above
Press Test. As well as checking the token, the test reports whether API access or Automations are turned
off on the server, so you find out now rather than at the first execution.
Diariz Trigger
Scope decides whose events you listen to. It is Personal unless you change it, so an existing
workflow behaves exactly as it did before.
| Scope | What it listens to | Who can use it |
|---|---|---|
| Personal | Events about your own recordings | Any Diariz account |
| Platform (Administrator) | Events across every user, routed by Workflow Signal, plus platform-only events such as Feedback Received | A Platform Administrator |
Pick one or more events:
| Event | Fires when |
|---|---|
| Recording Created | A recording is uploaded or captured, before transcription |
| Recording Transcribed | The transcript is ready, with speaker labels and timings |
| Transcription Failed | A recording could not be transcribed |
| Summary Ready | The AI summary is ready. The text rides along in the event. |
| Meeting Minutes Ready | The minutes document is ready, and rides along in the event |
| Action Items Ready | Action items were extracted from the transcript |
| Tags Ready | Topic tags were generated |
| Formula Result Completed | A formula finished and produced a document |
| Formula Result Failed | A formula run failed |
In Platform scope one more event is available:
| Event | Fires when |
|---|---|
| Feedback Received | Someone submitted feedback through Provide Feedback in Diariz |
Simplify (on by default) returns just the event's data. Turn it off to get the full envelope with the
event ID, type and timestamp.
Platform scope
A platform subscription fires across every user, so Diariz scopes it with Workflow Signals: choose
the signals this workflow routes on, and it receives only events carrying one of them. That is why the
Signal Filter is required, with one exception - Feedback Received carries no signal and always
fires, so a workflow listening only for feedback needs no signal at all.
Feedback Received is the reason the scope exists. Feedback is readable only by a Platform Administrator
in Diariz, so it is never available on a personal subscription; a personal one would hand one user another
user's words. The event carries who sent it, the page they were on and the release - enough to route it,
raise a ticket or post it to a channel.
Include Feedback Text adds what the person actually wrote. It is off by default and deliberately so:
the description is free text and may quote meeting content, so it only leaves Diariz when you ask for it.
Two things to know before you switch an existing trigger to Platform scope:
- The credential must belong to a Platform Administrator. A normal account gets a 403 when the workflow
is activated. - Changing Scope rebuilds the subscription, because personal and platform subscriptions are different
objects at different endpoints. The node deletes the old one from where it was created, so nothing is
left behind.
Include Attendee Contacts is Personal-scope only - the platform endpoint does not accept it.
How it works
Activating the workflow creates a subscription in Diariz pointing at this node's webhook URL, and stores the
signing secret Diariz returns. Deactivating deletes it again. You will see it in Diariz under
Settings > Automations, named after your workflow.
Every delivery is verified against that secret using the
Standard Webhooks signature scheme. An unsigned or tampered request is
rejected with a 401 and starts no execution.
Things worth knowing
- Diariz allows 20 automations per user. Each active Diariz Trigger uses one, and clicking
Listen for test event briefly registers a second, temporary one. - Failed deliveries are retried with a growing backoff over about 24 hours, so a workflow that was briefly
down still receives its events. Watch Settings > Automations in Diariz for the delivery log. - If a workflow is not firing, check the delivery log there first - it records the HTTP status your n8n
instance returned.
Diariz (action node)
Every published Diariz endpoint is available, grouped by resource. Several are given extra handling:
- Dropdowns. Recording, folder, room, formula, speaker profile and meeting type fields list your actual
records rather than asking for an ID. - Files. Transcript exports (text, Markdown, RTF, subtitles), audio, attachments and formula documents
come back as binary data. Uploading a recording or attaching a file takes binary data from a previous node. - Return All / Limit on anything that returns a list.
- Run a formula over a recording has Wait for Completion on by default. Diariz answers immediately
with a document that is still generating, so the node polls until it is finished and returns the Markdown.
Turn it off if a Diariz Trigger will pick up the completion event instead. - Ask a question consumes the chat stream and returns one finished answer, with any citations.
- Custom API Call on every resource, for anything added to the API after this version was published.
Example: summarise a meeting and post it to Slack
- Diariz Trigger - event Recording Transcribed
- Diariz - resource Formula, operation Run a formula over a recording
- Recording ID:
{{ $json.recordingId }} - Formula: pick yours from the dropdown
- Wait for Completion: on
- Recording ID:
- Slack - post
{{ $json.text }}
Add a second trigger event, Summary Ready, if you would rather act on the summary that Diariz generates
automatically than run a formula of your own.
Compatibility
Requires Node.js 20.15 or newer, matching n8n's own requirement. Tested against Diariz 0.159 and later; the
AI-output trigger events (Summary Ready, Meeting Minutes Ready, Action Items Ready, Tags Ready) need 0.159 or
newer, and everything else works with 0.153 and newer. Platform scope and the Feedback Received event need
Diariz 0.177.0 or newer - on an older server the subscription is rejected when the workflow is activated.
Development
This node lives in the Diariz repository underintegrations/n8n-nodes-diariz, so it stays in step with the API it wraps.
npm install
npm test # unit tests
npm run lint # n8n community node linter
npm run build
Publishing
Changing anything the package actually ships, on main, publishes it to npm
(.github/workflows/n8n-publish.yml) using the version in package.json - which mirrors the repository's/version.json and is bumped by every pull request.
A version bump alone does not publish. Because the version mirrors the repository, package.json
changes on every merge, so it is excluded from the trigger; otherwise every merge would publish an
identical package under a new number. The job also skips when its version is already on npm, so it is safe
to re-run by hand from any commit - and workflow_dispatch will publish whatever is on main if you need
to force one out.
The long tail of operations is generated from Diariz's own OpenAPI document
(nodes/Diariz/generated/openapi.snapshot.json). Regenerate with npm run generate. Continuous integration
regenerates both the snapshot and the operations on every build and fails if either has drifted, so the node
cannot fall behind the API unnoticed.
Licence
MIT. The Diariz platform itself is AGPL-3.0.