Kindle -> Drive アップロード
中級
これはFile Management, AI Summarization分野の自動化ワークフローで、13個のノードを含みます。主にHtml, Gmail, GoogleDrive, HttpRequest, GmailTriggerなどのノードを使用。 DeepSeek AI を使用して Kindle の手書きノートを Google Drive に自動保存
前提条件
- •Googleアカウント + Gmail API認証情報
- •Google Drive API認証情報
- •ターゲットAPIの認証情報が必要な場合あり
ワークフロープレビュー
ノード接続関係を可視化、ズームとパンをサポート
ワークフローをエクスポート
以下のJSON設定をn8nにインポートして、このワークフローを使用できます
{
"id": "3VZQnUWjiVBTZfmP",
"meta": {
"instanceId": "a0a49fcb74d8a87c24ebb67a8134f7aec5bfaeeaa0a6aab501d3819a96e150a9",
"templateCredsSetupCompleted": true
},
"name": "Kindle -> Drive upload",
"tags": [],
"nodes": [
{
"id": "b7a9b0e3-bb4a-4f19-8c25-db1980c8d783",
"name": "DeepSeek Chat Model",
"type": "@n8n/n8n-nodes-langchain.lmChatDeepSeek",
"position": [
336,
272
],
"parameters": {
"model": "deepseek-reasoner",
"options": {}
},
"credentials": {
"deepSeekApi": {
"id": "s0dEwFy1blrVGF88",
"name": "DeepSeek account"
}
},
"typeVersion": 1
},
{
"id": "e347e4b8-b8fc-4676-b1db-476b3d0c67c6",
"name": "付箋ノート",
"type": "n8n-nodes-base.stickyNote",
"position": [
-560,
-272
],
"parameters": {
"color": 4,
"width": 416,
"height": 480,
"content": "## Step #1: Emails\n\n1. Configure your Amazon Kindle (in the settings of the device itself) to send exports to your gmail address.\n2. Now, configure your gmail node to react to specific emails from a specific amazon address."
},
"typeVersion": 1
},
{
"id": "b3c9d3ab-bf67-456d-afe2-2112433f6ec9",
"name": "付箋ノート1",
"type": "n8n-nodes-base.stickyNote",
"position": [
-560,
-864
],
"parameters": {
"color": 3,
"width": 2000,
"height": 512,
"content": "## Kindle Note Export Automation: PDF Retrieval\n\n### The Challenge\n\nKindle devices that support handwritten notes, such as the Kindle Scribe, offer an option to export notes (notebooks) as PDF files. However, Amazon does not provide a centralized repository or account access for retrieving these past exports; each note export must be requested manually on the device.\n\n### The Export Process Flaw\n\nWhen an export is requested, an email is delivered containing a unique, temporary URL for downloading the PDF file; the file is not attached directly. This manual, multi-step process represents a constraint on user data access and a suboptimal user experience.\n\n### The Automated Solution\n\nThis n8n workflow resolves this limitation by automating the PDF retrieval and storage process. The workflow is designed to:\n\n1. Monitor Inbox: Capture the specific export notification email.\n\n2. Extract URL: Employ an LLM service (like DeepSeek) to reliably parse the email content and extract the unique PDF download URL.\n\n3. Download & Upload: Execute an HTTP request to download the PDF content and automatically upload the file to a configured Google Drive account for reliable backup and future access."
},
"typeVersion": 1
},
{
"id": "005f2d08-896b-4eea-b4b8-56773f1fc10f",
"name": "付箋ノート2",
"type": "n8n-nodes-base.stickyNote",
"position": [
-128,
-272
],
"parameters": {
"color": 4,
"width": 320,
"height": 480,
"content": "## Step #2: Convert to HTML\n\n1. Convert the incoming email to HTML to simplify the URL extraction"
},
"typeVersion": 1
},
{
"id": "24b03c4b-e7c6-4b61-957d-404322b29bd5",
"name": "付箋ノート3",
"type": "n8n-nodes-base.stickyNote",
"position": [
208,
-272
],
"parameters": {
"color": 4,
"width": 320,
"height": 704,
"content": "## Step #3: Extract the URL using DeepSeek\n\n1. Instruct the LLM to find that dynamic URL; in theory, you could do that with regex but I am not good at it plus I wanted to test out DeepSeek.\n2. The agent will find that URL and return it for you to use for downloads."
},
"typeVersion": 1
},
{
"id": "370bdefe-ecd9-41c9-a457-1706e46a7b6e",
"name": "付箋ノート4",
"type": "n8n-nodes-base.stickyNote",
"position": [
544,
-272
],
"parameters": {
"color": 4,
"width": 320,
"height": 704,
"content": "## Step #4: Make a request to download those notes\n\n1. Use your extracted URL to grab the .pdf file."
},
"typeVersion": 1
},
{
"id": "8007b8d1-8b98-498b-91b4-44c3f06f275c",
"name": "付箋ノート5",
"type": "n8n-nodes-base.stickyNote",
"position": [
880,
-272
],
"parameters": {
"color": 4,
"width": 560,
"height": 704,
"content": "## Step #5: Upload the .pdf to my GDrive folder for notes\n\n1. Upload the .pdf to my GDrive folder for Kindle Notes.\n2. Inform me by email when the workflow succeeded (last step should only work if every prior action succeeded)."
},
"typeVersion": 1
},
{
"id": "6a6fbcaf-4c30-4ae1-894d-2dad3c4b03a9",
"name": "AI Agent - リンク抽出",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
272,
0
],
"parameters": {
"text": "=# role\nact as Frontend Engineer\n\n# task\nfind a URL hiiden in the tag following tag : <span class=\"rio-text rio-text-31\"><a href=\"\n\n# example url\n\"https://www.amazon.com/gp/f.html?C=1MUYIMQ9UFSTL&M=urn:rtn:msg:20250504201451a830d3e5b59a4d1b9d161745fa70p0na&R=7RQXMEKAT28G&T=C&U=https%3A%2F%2Fkindle-content-requests-prod.s3.amazonaws.com%2Fb9a039e0-ec0a-49cb-b89e-6eb8c595351f%2F4.05.25%2520Sunday-2025-05-04-22-13.pdf%3Fresponse-cache-control%3Dno-store%26X-Amz-Algorithm%3DAWS4-HMAC-SHA256%26X-Amz-Date%3D20250504T201443Z%26X-Amz-SignedHeaders%3Dhost%26X-Amz-Credential%3DAKIAQNGCF4J7OA7CTIWR%252F20250504%252Fus-east-1%252Fs3%252Faws4_request%26X-Amz-Expires%3D604800%26X-Amz-Signature%3Db7f25bff8a3d13ede3de43799a5b9a0ff4ae456d174fd50ab38f5513ef9fe26d&H=RQIQEL9ZGIWOUS0YWBKCYACGIWSA\"\n\n# html payload with a hidden link in it\n{{ $json.table }}\n\n# rules \n1. don't make anything up\n2. return only a URL with no formatting, nothing else\n\n",
"options": {},
"promptType": "define"
},
"typeVersion": 1.9
},
{
"id": "972b53cc-040f-4604-afb8-c2bdd395e938",
"name": "ファイルアップロード - Google Drive",
"type": "n8n-nodes-base.googleDrive",
"position": [
960,
0
],
"parameters": {
"name": "={{ $('Email ingestion: Gmail trigger').item.json.headers.subject }}",
"driveId": {
"__rl": true,
"mode": "list",
"value": "My Drive",
"cachedResultUrl": "https://drive.google.com/drive/my-drive",
"cachedResultName": "My Drive"
},
"options": {},
"folderId": {
"__rl": true,
"mode": "list",
"value": "1BSU71zLvt-uxi7cE-tcf00fVCIpEUiwA",
"cachedResultUrl": "https://drive.google.com/drive/folders/XXXXXXXXXXXXXXXXXXXXXXXXXXX",
"cachedResultName": "Kindle Notes"
}
},
"credentials": {
"googleDriveOAuth2Api": {
"id": "Nfr2My94Ho2km1YB",
"name": "Google Drive account"
}
},
"typeVersion": 3
},
{
"id": "7a4ef25d-0853-4fd2-afd1-2b940ca2e517",
"name": "成功通知 - メール",
"type": "n8n-nodes-base.gmail",
"onError": "continueRegularOutput",
"position": [
1200,
0
],
"webhookId": "82a68142-8260-41b3-ab3d-836dc5f40957",
"parameters": {
"sendTo": "XXXXX.XXXXXXXX@gmail.com",
"message": "=KINDLE NOTE SUCCESSFULLY UPLOADED:\n\n{{ $json.name }}",
"options": {},
"subject": "KINDLE NOTE SUCCESSFULLY UPLOADED"
},
"credentials": {
"gmailOAuth2": {
"id": "TwnNxGn3IJEd2GTw",
"name": "Gmail account"
}
},
"executeOnce": true,
"typeVersion": 2.1
},
{
"id": "c65a26c5-8a73-4c4d-b242-b22cea9e882f",
"name": "PDF取得 - HTTP リクエスト",
"type": "n8n-nodes-base.httpRequest",
"position": [
672,
0
],
"parameters": {
"url": "={{ $json.output }}",
"options": {}
},
"typeVersion": 4.2
},
{
"id": "d64c5a49-cf78-4e56-96ae-448a05da2cec",
"name": "リンク抽出: HTMLパーサー",
"type": "n8n-nodes-base.html",
"position": [
-32,
0
],
"parameters": {
"options": {},
"operation": "convertToHtmlTable"
},
"typeVersion": 1.2
},
{
"id": "c547b8c4-d321-49e0-a823-03108a12c7ac",
"name": "メール取り込み: Gmail トリガー",
"type": "n8n-nodes-base.gmailTrigger",
"position": [
-336,
0
],
"parameters": {
"simple": false,
"filters": {
"q": "from:(amazon.com) subject:(You sent a file)",
"includeSpamTrash": true
},
"options": {},
"pollTimes": {
"item": [
{
"mode": "everyMinute"
}
]
}
},
"credentials": {
"gmailOAuth2": {
"id": "TwnNxGn3IJEd2GTw",
"name": "Gmail account"
}
},
"typeVersion": 1.2
}
],
"active": true,
"pinData": {},
"settings": {
"executionOrder": "v1"
},
"versionId": "cfa64a2e-d401-416e-b7dd-4761f0d30d57",
"connections": {
"b7a9b0e3-bb4a-4f19-8c25-db1980c8d783": {
"ai_languageModel": [
[
{
"node": "6a6fbcaf-4c30-4ae1-894d-2dad3c4b03a9",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"6a6fbcaf-4c30-4ae1-894d-2dad3c4b03a9": {
"main": [
[
{
"node": "c65a26c5-8a73-4c4d-b242-b22cea9e882f",
"type": "main",
"index": 0
}
]
]
},
"972b53cc-040f-4604-afb8-c2bdd395e938": {
"main": [
[
{
"node": "7a4ef25d-0853-4fd2-afd1-2b940ca2e517",
"type": "main",
"index": 0
}
]
]
},
"d64c5a49-cf78-4e56-96ae-448a05da2cec": {
"main": [
[
{
"node": "6a6fbcaf-4c30-4ae1-894d-2dad3c4b03a9",
"type": "main",
"index": 0
}
]
]
},
"c65a26c5-8a73-4c4d-b242-b22cea9e882f": {
"main": [
[
{
"node": "972b53cc-040f-4604-afb8-c2bdd395e938",
"type": "main",
"index": 0
}
]
]
},
"c547b8c4-d321-49e0-a823-03108a12c7ac": {
"main": [
[
{
"node": "d64c5a49-cf78-4e56-96ae-448a05da2cec",
"type": "main",
"index": 0
}
]
]
}
}
}よくある質問
このワークフローの使い方は?
上記のJSON設定コードをコピーし、n8nインスタンスで新しいワークフローを作成して「JSONからインポート」を選択、設定を貼り付けて認証情報を必要に応じて変更してください。
このワークフローはどんな場面に適していますか?
中級 - ファイル管理, AI要約
有料ですか?
このワークフローは完全無料です。ただし、ワークフローで使用するサードパーティサービス(OpenAI APIなど)は別途料金が発生する場合があります。
関連ワークフロー
Mistral AI、LinkedIn、Google Sheets を使って求人検索と履歴書のカスタマイズを自動化
Mistral AI、LinkedIn、Google Sheets を使って 自動採用情報の検索とCVカスタマイズを行う
Set
Code
Html
+
Set
Code
Html
46 ノードJordan Hoyle
個人の生産性
AI医療レポートジェネレーター
メールから医療報告を生成するためにGemini AIとGoogle Workspaceを使用する
Set
Code
Gmail
+
Set
Code
Gmail
21 ノードAbdullah Alshiekh
文書抽出
HubSpotコンテキストに基づくAIメール返信とSlack承認
HubSpotコンテキストに基づくAIメール返信とSlack承認
If
Code
Gmail
+
If
Code
Gmail
19 ノードMiha
顧客管理
メールからWhatsAppへ - AIマルチアカウントブリッジ
AI駆動によるメールのWhatsApp転送、Gmail、Outlook、Google Geminiの統合
Code
Gmail
Http Request
+
Code
Gmail
Http Request
22 ノードiTzJok3r
個人の生産性
Gmailへn8nによる送信タイムリミットの通知
AIベースのn8nリリースノート要約通知(Gmail経由でGPT-5-Miniを使用)
Set
Code
Html
+
Set
Code
Html
16 ノードJeff Huera
個人の生産性
顧客への請日の自動送付
OCR.Space、GPT-4、および Google Drive から Gmail への自動化
If
Set
Code
+
If
Set
Code
29 ノードMichael Taleb
AI要約
ワークフロー情報
難易度
中級
ノード数13
カテゴリー2
ノードタイプ8
作成者
Gene Ishchuk
@geneishchukAI Product Manager experienced in eCommerce, AdTech, Logistics, Analytics, and traditional ML.
外部リンク
n8n.ioで表示 →
このワークフローを共有