Corlys · Webhooks

Connect Corlys to n8n

Corlys sends journal entries to webhook addresses you set up yourself. This page describes what arrives and gives you a ready n8n workflow that appends each entry to an Obsidian daily note.

Endpoints

You can add as many endpoints as you need. Each one has an address, an optional token, a content type and a way of sending:

Photos and locations are not sent. Entries imported from Day One are not sent either.

Text endpoints

A text endpoint receives one POST per new entry, as soon as you close it. The body is JSON:

{
  "id": "5B0C7C0E-6B1F-4F0B-9C55-2F3E7A0D9A11",
  "title": "Walk by the harbour",
  "text": "Cold coffee, **great** light.\n\n- Boats\n- Wind",
  "createdAt": "2026-10-11T07:42:10Z"
}
FieldContent
idStays the same when you send an entry again. Use it to avoid duplicates.
titleThe short title the app gave the entry.
textThe entry in your own words, typed or dictated. Formatted entries arrive as Markdown; underline arrives as <u>.
createdAtDate and time of the entry in ISO 8601, in UTC. You can change it in the app.

The app transcribes on the device, so a text endpoint needs no audio and no speech service.

Audio endpoints

An audio endpoint receives one POST per dictation as multipart/form-data. Each dictation is sent on its own.

FieldContent
dataThe recording as an M4A file (audio/mp4). n8n’s Webhook node exposes it as the binary property data.
createdAtDate and time in ISO 8601.
durationLength of the recording in seconds, with one decimal.
languageLanguage code of the dictation.

A dictation lasts up to ten minutes.

Token and response

Reaching n8n from your phone

The app sends to https:// addresses. Plain http:// is accepted only for Tailscale addresses (100.64.0.0/10), so a home server without a certificate works through Tailscale.

Example: Obsidian daily note

This workflow appends each entry to the Obsidian daily note of the day it was written. It needs a self-hosted n8n that can see your vault as a folder, for example a Docker volume -v /path/to/vault:/files/vault.

Download the workflow (JSON)
  1. In n8n, choose Workflows → Import from file and pick n8n-obsidian-daily-note.json.
  2. Open Prepare entry and set DAILY_NOTES_DIR (default /files/vault/Daily) and HEADING (default ## Journal). Daily notes are expected as YYYY-MM-DD.md.
  3. Create a Header Auth credential with the name Authorization and the value Bearer <a long random token>. Select it in Entry webhook.
  4. Set the workflow timezone in the workflow settings. It decides which day an entry written around midnight belongs to.
  5. Activate the workflow and copy the production URL of the webhook.
  6. In Corlys: Settings → Webhooks → Add endpoint, content Transcript, sending automatic, the URL and the token from step 3.

The file contains no credentials. The folder and the heading in it are defaults; change them to match your vault.

What lands in the note

## Journal

### 09:15 · Walk by the harbour
<!-- entry:5b0c7c0e-6b1f-4f0b-9c55-2f3e7a0d9a11 -->

Cold coffee, **great** light.

The workflow only appends. It never rewrites what is already in the note, and it creates the note if it does not exist yet. The comment line is how it recognises an entry it has already written, so sending the same entry twice does not add it twice.

What the workflow answers

← Back to Corlys Privacy policy