Webhooks ガイド
Fast Memo を外部サービスに接続してワークフローを自動化しましょう。ノート、カテゴリ、データが変更されたときにリアルタイム通知を受け取れます。

Webhooks とは?
Fast Memo の Webhooks は、設定した URL に送信されるアウトバウンド HTTP POST 通知です。アプリ内で特定のイベントが発生すると、Fast Memo は何が起きたかの詳細を含む JSON ペイロードをエンドポイントに送信します。
- HTTP POST リクエスト
各 Webhook は指定した URL に HTTP POST で JSON ペイロードを送信します。認証ヘッダーは不要です。
- 14 種類のトリガー
14 種類のイベントから選択:ノートの作成、更新、削除、カテゴリ変更、データのインポート/エクスポートなど。
- IoT & 自動化
IFTTT、Zapier、n8n、Home Assistant、または独自のサーバーに接続してカスタム自動化を構築できます。
設定方法
設定を開く
Fast Memo の設定を開き、詳細セクションの Webhooks オプションを見つけます。
トリガーを選択
14 個の利用可能なトリガーのリストが表示されます。各トリガーは独自の URL で個別に設定できます。
URL を入力して有効化
テキストフィールドにエンドポイントの URL を入力します。チェックボックスをタップしてトリガーを有効にします。POST ラベルが HTTP メソッドを確認します。
完了 — 自動的に発火
アプリ内で対応するイベントが発生するたびに、Fast Memo はイベントを説明する JSON ボディを含む POST リクエストを URL に送信します。
利用可能なトリガー
各トリガーには独自の URL と有効/無効トグルがあります。必要なだけ設定できます。
| トリガー | カテゴリ | アクション |
|---|---|---|
| テキストノート追加 | ノート | note/addTextNote |
| Todoノート追加 | ノート | note/addTodoNote |
| カンバンノート追加 | ノート | note/addKanbanNote |
| コードノート追加 | ノート | note/addCodeNote |
| ノート更新 | ノート | note/updateNote |
| 一時削除 | ノート | note/temporaryDeleteNote |
| ノート削除 | ノート | note/deleteNote |
| ノート復元 | ノート | note/restoreNote |
| カテゴリ作成 | カテゴリ | category/createCategory |
| カテゴリ更新 | カテゴリ | category/updateCategory |
| カテゴリ削除 | カテゴリ | category/deleteCategory |
| データエクスポート | データ | generic/export |
| データインポート | データ | generic/import |
| データ消去 | データ | generic/wipeData |
ペイロードリファレンス
各 Webhook は HTTP POST で JSON ボディを送信します。以下は各トリガーの正確なペイロード形式です。すべてのペイロードには true に設定された "success" フィールドと "action" 文字列が含まれます。
ノート作成
POST — テキストノート追加
{
"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 — 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 — カンバンノート追加
{
"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 — コードノート追加
{
"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" }
}ノートライフサイクル
POST — ノート更新(単一)
{
"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 — ノート更新(一括)
{
"success": true,
"action": "note/updateNote",
"extra": "multiple",
"ids": ["abc123", "def456"],
"property": "important"
}POST — 一時削除(単一)
{
"success": true,
"action": "note/temporaryDeleteNote",
"id": "abc123"
}POST — 一時削除(一括)
{
"success": true,
"action": "note/temporaryDeleteNote",
"extra": "multiple",
"ids": ["abc123", "def456"]
}POST — ノート削除(単一)
{
"success": true,
"action": "note/deleteNote",
"id": "abc123"
}POST — ノート削除(一括)
{
"success": true,
"action": "note/deleteNote",
"extra": "multiple",
"ids": ["abc123", "def456"]
}POST — ノート削除(全て)
{
"success": true,
"action": "note/deleteNote",
"extra": "all"
}POST — ノート復元(単一)
{
"success": true,
"action": "note/restore",
"id": "abc123"
}POST — ノート復元(一括)
{
"success": true,
"action": "note/restoreNote",
"extra": "multiple",
"ids": ["abc123", "def456"]
}POST — ノート復元(全て)
{
"success": true,
"action": "note/restoreNote",
"extra": "all"
}カテゴリ操作
POST — カテゴリ作成
{
"success": true,
"action": "category/createCategory",
"iconId": "book",
"name": "Personal"
}POST — カテゴリ更新
{
"success": true,
"action": "category/updateCategory",
"prevCategory": { "iconId": "book", "name": "Personal" },
"nextCategory": { "iconId": "star", "name": "Favorites" }
}POST — カテゴリ削除
{
"success": true,
"action": "category/deleteCategory",
"iconId": "book"
}データ操作
POST — データエクスポート
{
"success": true,
"action": "generic/export"
}POST — データインポート
{
"success": true,
"action": "generic/import"
}POST — データ消去
{
"success": true,
"action": "generic/wipeData",
"cloud": false
}制限事項と注意点
- HTTP メソッドは常に POST です — GET、PUT、その他のメソッドに変更できません。
- リクエストごとに 5 秒のタイムアウトがあります。エンドポイントが 5 秒以内に応答しない場合、リクエストは破棄されます。
- リトライなし — リクエストが失敗した場合、サイレントに破棄されます。
- トリガーごとに 1 つの URL — 同じイベントに複数のエンドポイントを設定できません。
- カスタムヘッダーや認証トークンなし — 標準の JSON content-type ヘッダーのみ送信されます。
- この機能は BETA 段階です。ペイロードと動作は将来のバージョンで変更される可能性があります。


