Guía de Webhooks
Automatiza tu flujo de trabajo conectando Fast Memo a servicios externos. Recibe notificaciones en tiempo real cuando las notas, categorias o datos cambien.

¿Que son los Webhooks?
Los webhooks en Fast Memo son notificaciones HTTP POST salientes enviadas a las URLs que configures. Cuando ocurre un evento especifico en la app, Fast Memo envia un payload JSON a tu endpoint con los detalles de lo que sucedio.
- Solicitudes HTTP POST
Cada webhook envia un payload JSON via HTTP POST a la URL que proporciones. No se requieren cabeceras de autenticacion.
- 14 Triggers Disponibles
Elige entre 14 eventos diferentes: creacion, actualizacion y eliminacion de notas, cambios de categorias, importacion/exportacion de datos y mas.
- IoT y Automatizacion
Conecta Fast Memo a servicios como IFTTT, Zapier, n8n, Home Assistant o tu propio servidor para crear automatizaciones personalizadas.
Como Configurar
Abrir Ajustes
Ve a Ajustes en Fast Memo y encuentra la opcion Webhooks en la seccion Avanzado.
Elegir un trigger
Veras una lista de los 14 triggers disponibles. Cada uno se puede configurar independientemente con su propia URL.
Introducir una URL y activarlo
Escribe la URL de tu endpoint en el campo de texto. Luego activa el trigger tocando la casilla. La etiqueta POST confirma el metodo HTTP.
Listo — se activa automaticamente
Cada vez que el evento correspondiente ocurra en la app, Fast Memo enviara una solicitud POST a tu URL con un body JSON que describe el evento.
Triggers Disponibles
Cada trigger tiene su propia URL y un toggle de activar/desactivar. Puedes configurar tantos como necesites.
| Trigger | Categoria | Accion |
|---|---|---|
| Agregar Nota de Texto | Notas | note/addTextNote |
| Agregar Nota Todo | Notas | note/addTodoNote |
| Agregar Nota Kanban | Notas | note/addKanbanNote |
| Agregar Nota de Codigo | Notas | note/addCodeNote |
| Actualizar Nota | Notas | note/updateNote |
| Eliminacion Temporal | Notas | note/temporaryDeleteNote |
| Eliminar Nota | Notas | note/deleteNote |
| Restaurar Nota | Notas | note/restoreNote |
| Crear Categoria | Categorias | category/createCategory |
| Actualizar Categoria | Categorias | category/updateCategory |
| Eliminar Categoria | Categorias | category/deleteCategory |
| Exportar Datos | Datos | generic/export |
| Importar Datos | Datos | generic/import |
| Borrar Datos | Datos | generic/wipeData |
Referencia de Payloads
Cada webhook envia un body JSON via HTTP POST. A continuacion el formato exacto del payload para cada trigger. Todos incluyen un campo "success" en true y una cadena "action".
Creacion de Notas
POST — Agregar Nota de Texto
{
"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 — Agregar 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 — Agregar 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 — Agregar Nota de Codigo
{
"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 de Vida de Notas
POST — Actualizar Nota (individual)
{
"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 — Actualizar Nota (masiva)
{
"success": true,
"action": "note/updateNote",
"extra": "multiple",
"ids": ["abc123", "def456"],
"property": "important"
}POST — Eliminacion Temporal (individual)
{
"success": true,
"action": "note/temporaryDeleteNote",
"id": "abc123"
}POST — Eliminacion Temporal (masiva)
{
"success": true,
"action": "note/temporaryDeleteNote",
"extra": "multiple",
"ids": ["abc123", "def456"]
}POST — Eliminar Nota (individual)
{
"success": true,
"action": "note/deleteNote",
"id": "abc123"
}POST — Eliminar Nota (masiva)
{
"success": true,
"action": "note/deleteNote",
"extra": "multiple",
"ids": ["abc123", "def456"]
}POST — Eliminar Nota (todas)
{
"success": true,
"action": "note/deleteNote",
"extra": "all"
}POST — Restaurar Nota (individual)
{
"success": true,
"action": "note/restore",
"id": "abc123"
}POST — Restaurar Nota (masiva)
{
"success": true,
"action": "note/restoreNote",
"extra": "multiple",
"ids": ["abc123", "def456"]
}POST — Restaurar Nota (todas)
{
"success": true,
"action": "note/restoreNote",
"extra": "all"
}Operaciones de Categorias
POST — Crear Categoria
{
"success": true,
"action": "category/createCategory",
"iconId": "book",
"name": "Personal"
}POST — Actualizar Categoria
{
"success": true,
"action": "category/updateCategory",
"prevCategory": { "iconId": "book", "name": "Personal" },
"nextCategory": { "iconId": "star", "name": "Favorites" }
}POST — Eliminar Categoria
{
"success": true,
"action": "category/deleteCategory",
"iconId": "book"
}Operaciones de Datos
POST — Exportar Datos
{
"success": true,
"action": "generic/export"
}POST — Importar Datos
{
"success": true,
"action": "generic/import"
}POST — Borrar Datos
{
"success": true,
"action": "generic/wipeData",
"cloud": false
}Limitaciones y Notas
- El metodo HTTP siempre es POST — no se puede cambiar a GET, PUT u otros metodos.
- Hay un timeout de 5 segundos por solicitud. Si tu endpoint no responde en 5 segundos, la solicitud se descarta.
- Sin reintentos — si una solicitud falla, se descarta silenciosamente.
- Una URL por trigger — no puedes configurar multiples endpoints para el mismo evento.
- Sin cabeceras personalizadas ni tokens de autenticacion — solo se envian los headers estandar de JSON content-type.
- La funcionalidad esta en BETA. Los payloads y el comportamiento pueden cambiar en futuras versiones.


