Guida Webhooks
Automatizza il tuo flusso di lavoro collegando Fast Memo a servizi esterni. Ricevi notifiche in tempo reale quando note, categorie o dati cambiano.

Cosa Sono i Webhooks?
I webhooks in Fast Memo sono notifiche HTTP POST in uscita inviate agli URL che configuri. Quando un evento specifico avviene nell'app (come creare una nota o eliminare una categoria), Fast Memo invia un payload JSON al tuo endpoint con i dettagli di ciò che è successo.
- Richieste HTTP POST
Ogni webhook invia un payload JSON tramite HTTP POST all'URL che fornisci. Non sono richiesti header di autenticazione.
- 14 Trigger Disponibili
Scegli tra 14 eventi diversi: creazione, aggiornamento e eliminazione di note, modifiche alle categorie, importazione/esportazione dati e altro.
- IoT e Automazione
Collega Fast Memo a servizi come IFTTT, Zapier, n8n, Home Assistant o al tuo server per creare automazioni personalizzate.
Come Configurare
Apri le Impostazioni
Vai nelle Impostazioni di Fast Memo e trova l'opzione Webhooks nella sezione Avanzate.
Scegli un trigger
Vedrai un elenco di tutti i 14 trigger disponibili. Ognuno può essere configurato indipendentemente con il proprio URL.
Inserisci un URL e attivalo
Digita l'URL del tuo endpoint nel campo di testo. Poi attiva il trigger toccando la checkbox. L'etichetta POST conferma il metodo HTTP.
Fatto — si attiva automaticamente
Ogni volta che l'evento corrispondente avviene nell'app, Fast Memo invierà una richiesta POST al tuo URL con un body JSON che descrive l'evento.
Trigger Disponibili
Ogni trigger ha il proprio URL e un toggle attiva/disattiva. Puoi configurarne quanti ne vuoi.
| Trigger | Categoria | Azione |
|---|---|---|
| Aggiungi Nota Testo | Note | note/addTextNote |
| Aggiungi Nota Todo | Note | note/addTodoNote |
| Aggiungi Nota Kanban | Note | note/addKanbanNote |
| Aggiungi Nota Codice | Note | note/addCodeNote |
| Aggiorna Nota | Note | note/updateNote |
| Eliminazione Temporanea | Note | note/temporaryDeleteNote |
| Elimina Nota | Note | note/deleteNote |
| Ripristina Nota | Note | note/restoreNote |
| Crea Categoria | Categorie | category/createCategory |
| Aggiorna Categoria | Categorie | category/updateCategory |
| Elimina Categoria | Categorie | category/deleteCategory |
| Esporta Dati | Dati | generic/export |
| Importa Dati | Dati | generic/import |
| Cancella Dati | Dati | generic/wipeData |
Riferimento Payload
Ogni webhook invia un body JSON tramite HTTP POST. Di seguito il formato esatto del payload per ogni trigger. Tutti i payload includono un campo "success" impostato su true e una stringa "action".
Creazione Note
POST — Aggiungi Nota Testo
{
"success": true,
"action": "note/addTextNote",
"id": "abc123",
"type": "text",
"title": "My Note",
"text": "<p>Hello world</p>",
"createdAt": 1713700000,
"updatedAt": 1713700000,
"important": false,
"readOnly": false,
"hidden": false,
"locked": false,
"category": { "iconId": "book", "name": "Personal" }
}POST — Aggiungi Nota Todo
{
"success": true,
"action": "note/addTodoNote",
"id": "abc123",
"type": "todo",
"title": "Shopping List",
"list": [
{ "id": "item1", "text": "Buy milk", "checked": false },
{ "id": "item2", "text": "Buy eggs", "checked": true }
],
"createdAt": 1713700000,
"updatedAt": 1713700000,
"important": false,
"readOnly": false,
"hidden": false,
"locked": false,
"category": { "iconId": "cart", "name": "Shopping" }
}POST — Aggiungi Nota Kanban
{
"success": true,
"action": "note/addKanbanNote",
"id": "abc123",
"type": "kanban",
"title": "Sprint Board",
"columns": [
{
"id": "col1",
"title": "To Do",
"cards": [
{ "id": "card1", "text": "Design UI" }
]
},
{
"id": "col2",
"title": "Done",
"cards": []
}
],
"createdAt": 1713700000,
"updatedAt": 1713700000,
"important": false,
"readOnly": false,
"hidden": false,
"locked": false,
"category": { "iconId": "briefcase", "name": "Work" }
}POST — Aggiungi Nota Codice
{
"success": true,
"action": "note/addCodeNote",
"id": "abc123",
"type": "code",
"title": "API Handler",
"tabs": [
{
"id": "tab1",
"title": "index.ts",
"code": "console.log('hello')",
"language": "typescript"
}
],
"activeTabId": "tab1",
"createdAt": 1713700000,
"updatedAt": 1713700000,
"important": false,
"readOnly": false,
"hidden": false,
"locked": false,
"category": { "iconId": "code", "name": "Dev" }
}Ciclo di Vita Note
POST — Aggiorna Nota (singola)
{
"success": true,
"action": "note/updateNote",
"id": "abc123",
"type": "text",
"title": "Updated Note",
"text": "<p>New content</p>",
"createdAt": 1713700000,
"updatedAt": 1713800000,
"important": true,
"readOnly": false,
"hidden": false,
"locked": false,
"category": { "iconId": "book", "name": "Personal" }
}POST — Aggiorna Nota (multipla)
{
"success": true,
"action": "note/updateNote",
"extra": "multiple",
"ids": ["abc123", "def456"],
"property": "important"
}POST — Eliminazione Temporanea (singola)
{
"success": true,
"action": "note/temporaryDeleteNote",
"id": "abc123"
}POST — Eliminazione Temporanea (multipla)
{
"success": true,
"action": "note/temporaryDeleteNote",
"extra": "multiple",
"ids": ["abc123", "def456"]
}POST — Elimina Nota (singola)
{
"success": true,
"action": "note/deleteNote",
"id": "abc123"
}POST — Elimina Nota (multipla)
{
"success": true,
"action": "note/deleteNote",
"extra": "multiple",
"ids": ["abc123", "def456"]
}POST — Elimina Nota (tutte)
{
"success": true,
"action": "note/deleteNote",
"extra": "all"
}POST — Ripristina Nota (singola)
{
"success": true,
"action": "note/restore",
"id": "abc123"
}POST — Ripristina Nota (multipla)
{
"success": true,
"action": "note/restoreNote",
"extra": "multiple",
"ids": ["abc123", "def456"]
}POST — Ripristina Nota (tutte)
{
"success": true,
"action": "note/restoreNote",
"extra": "all"
}Operazioni Categorie
POST — Crea Categoria
{
"success": true,
"action": "category/createCategory",
"iconId": "book",
"name": "Personal"
}POST — Aggiorna Categoria
{
"success": true,
"action": "category/updateCategory",
"prevCategory": { "iconId": "book", "name": "Personal" },
"nextCategory": { "iconId": "star", "name": "Favorites" }
}POST — Elimina Categoria
{
"success": true,
"action": "category/deleteCategory",
"iconId": "book"
}Operazioni Dati
POST — Esporta Dati
{
"success": true,
"action": "generic/export"
}POST — Importa Dati
{
"success": true,
"action": "generic/import"
}POST — Cancella Dati
{
"success": true,
"action": "generic/wipeData",
"cloud": false
}Limitazioni e Note
- Il metodo HTTP è sempre POST — non può essere cambiato in GET, PUT o altri metodi.
- C'è un timeout di 5 secondi per richiesta. Se il tuo endpoint non risponde entro 5 secondi, la richiesta viene scartata.
- Nessun tentativo di ripetizione — se una richiesta fallisce (timeout, errore di rete, risposta non-200), viene scartata silenziosamente.
- Un URL per trigger — non puoi configurare più endpoint per lo stesso evento.
- Nessun header personalizzato o token di autenticazione — vengono inviati solo gli header standard JSON content-type.
- La funzionalità è in BETA. I payload e il comportamento potrebbero cambiare nelle versioni future.


