Automate Telegram Book Summaries with n8n and Readwise API

This n8n workflow automates sending book article summaries from Readwise to Telegram, saving you hours of manual sharing. With scheduled syncing, it keeps your Telegram chat updated with the latest book highlights instantly.
httpRequest
telegram
cron
+6
Workflow Identifier: 1410
NODES in Use: Manual Trigger, Write Binary File, Read Binary File, HTTP Request, Telegram, Move Binary Data, Function, Cron, Set
Automate book summaries with n8n and Telegram

Press CTRL+F5 if the workflow didn't load.

Learn how to Build this Workflow with AI:

What This Automation Does 🛠️

This workflow checks Readwise every 10 minutes for new saved articles since the last time it ran.
It skips non-article items to only keep real articles with no child notes.
After fetching data, it sends a neat summary message for each article into a Telegram chat.
The workflow then updates a local JSON file with the new sync time for the next run.
This saves time by removing the need to manually share new article summaries every day.

Inputs:
– Last sync timestamp from JSON file
– New article entries from Readwise API
– Config values like file path and Telegram chat ID

Processing Steps:
– Read last synced time from file or start fresh
– Call Readwise API to get articles updated after last sync
– Filter articles to exclude bundles and only keep individual items
– Format article details (title, author, summary, URL) for messaging
– Send each article summary as a message to a Telegram chat
– Save current time as new last sync timestamp into JSON file

Output:
– Telegram messages with fresh article summaries
– Updated JSON file storing last sync time


Beginner Step-by-Step: How to Use This Workflow in n8n

Import the Workflow

  1. Click the Download button on this page to get the workflow file.
  2. In the n8n editor, choose “Import from File” and select the downloaded file.

Configure Credentials and IDs

  1. Add your Readwise API Key in the HTTP Request node’s authentication section.
  2. Enter your Telegram Bot API token and set the chat ID in the Config node.
  3. If needed, update the JSON file path in the Config node to match your environment.

Test the Workflow

  1. Run the workflow manually with the Manual Trigger node to make sure it fetches and sends data correctly.

Activate for Production Runs

  1. Disable the manual trigger node.
  2. Enable the Cron node set to run every 10 minutes or desired interval.
  3. Save and activate the workflow.

For stable operation on your own server, consider self-host n8n.


Prerequisites ⚙️

  • n8n account or self-hosted setup 🔌 (for running the workflow)
  • Readwise account with API access 🔑 (to fetch saved highlights and articles)
  • Telegram Bot API token and chat ID 📲 (to send messages to the desired chat)
  • File system access where n8n runs 📁 (to read/write JSON file tracking last sync time)
  • Optional: Self-host with Hostinger for reliable uptime https://buldrr.com/hostinger

Step-by-Step Guide to Build the Workflow ✏️

Step 1: Set Up the Manual or Cron Trigger
Use a Manual Trigger for testing by clicking execute.
For automation, use a Cron node to run every 10 minutes.
Remember to enable the Cron node after saving.

Step 2: Configure the File Path Settings
Use a Set node called Config.
Add a string field for the file path (e.g. /whatever/readwiseLastSynced.json).
Add a number field for the Telegram chat ID (like 19999).

Step 3: Read Last Sync from JSON File
Use a Read Binary File node.
Set file path using expression from Config node.
Enable “Continue On Fail” to work on first run without file.

Step 4: Convert File Data to JSON
Add a Move Binary Data node named Binary to json.
Convert binary data from previous node to JSON.
Ensure “Always Output Data” is set.

Step 5: Fetch New Data from Readwise API
Add HTTP Request node.
Use method GET, URL https://readwise.io/reader/api/state/.
Query parameters include schemaVersion=5 and filter[updated_at][gt] with last synced time.
Authenticate with API Key in Header Auth.

Step 6: Process and Filter Data for Articles Only
Add Function node Split into baches.
Run code to keep only article category items without children.

const newValue = Object.values(items[0].json.documents)
  .filter(it => it.category === 'article')
  .filter(it => it.children.length === 0)
  .map(it => ({
    json: {
      url: it.url,
      title: it.title,
      author: it.author,
      summary: it.summary,
      saved_at: new Date(it.saved_at),
    }
  }));

return newValue;

Step 7: Send Summaries to Telegram Chat
Use Telegram node.
Set chat ID from Config node.
Message text template includes title, author, summary, and URL.

Step 8: Update Last Sync Timestamp
Add FunctionItem node Set new update time with code:

return {
  last_synced: new Date().getTime()
};

Step 9: Convert JSON Timestamp to Binary
Use Move Binary Data node Json to binary to convert JSON to binary for writing.

Step 10: Write Updated Timestamp to JSON File
Use Write Binary File node.
Write new last sync time back to the file path specified.


Troubleshooting 🔧

Problem: HTTP Request node returns 401 Unauthorized.
Cause: API Key missing or wrong.
Solution: Check API Key and Header Auth in HTTP Request node.

Problem: Telegram messages not sent.
Cause: Invalid chat ID or bot token.
Solution: Verify Telegram node credentials and chat ID.

Problem: Last sync JSON file not found.
Cause: Wrong file path or no permissions.
Solution: Confirm file path and permissions match Config node.


Customizations ✏️

  • Change Cron node interval for sync frequency.
  • Add filters in Function node to select different Readwise categories or authors.
  • Add more Telegram nodes to send messages to multiple chats.
  • Expand article info with tags, images, or notes from Readwise in messages.

Summary

✓ Saves 30+ minutes daily by automating data fetching and sharing.
✓ Sends only new article summaries to Telegram chat automatically.
✓ Keeps a clean, updated JSON file to track last sync time.
✓ Easy to import, configure, and run inside n8n.
✓ Customizable to different sync times, filters, and multiple chats.


Automate book summaries with n8n and Telegram

Visit through Desktop to Interact with the Workflow.

Frequently Asked Questions

Check that the Readwise API Key is correctly entered in the HTTP Request node’s Header Authentication.
Incorrect Telegram Bot API token or invalid chat ID in the Telegram node will prevent message sending.
The file path may be wrong or the n8n service lacks permission to read or write to the specified JSON file.
Yes, it can run on self-hosted n8n; ensure file system access and configure credentials accordingly.

Promoted by BULDRR AI

Related Workflows

Automate Twist Channel Creation and Messaging with n8n

This workflow automates creating and updating a channel in Twist and sending a personalized message to specific users. It eliminates manual setup errors and saves time managing Twist communications.

Automate Ideogram Image Generation with Google Sheets & Gmail

This workflow automates graphic design image generation via Ideogram AI, storing image data in Google Sheets and Google Drive, with email alerts via Gmail. It saves designers hours by automating image creation, remixing, review, and record-keeping.

Automate IT Support with Slack and OpenAI in n8n

Streamline IT support by automating Slack message handling using n8n and OpenAI. This workflow handles Slack DMs, filters bots, queries a Confluence knowledge base, and delivers AI-generated responses, improving support efficiency and response time.

Automate Crypto Analysis with CoinMarketCap & n8n AI Agent

Discover how this unique n8n workflow leverages CoinMarketCap’s multi-agent AI to deliver precise, real-time cryptocurrency insights directly via Telegram. Manage crypto data analysis efficiently with automated multi-source API integration.

Automate Gumroad to Beehiiv Subscriber Sync with n8n

Learn how to automatically add new Gumroad sales customers as Beehiiv newsletter subscribers using n8n automation. This workflow saves time by syncing sales data to Google Sheets CRM and notifying your Telegram channel instantly.

Generate On-Brand Blog Articles Using n8n and OpenAI

This workflow automates the creation of on-brand blog articles by analyzing existing company content using n8n and OpenAI. It extracts article structures and brand voice to produce consistent draft articles, saving significant content creation time.
1:1 Free Strategy Session
Your competitors are already automating. Are you still paying for it manually?

Do you want to adopt AI Automation?

Every hour your team does repetitive work, you're burning real money.
While you wait, faster businesses are cutting costs and moving quicker.
AI and automations aren't the future anymore — they're the present.

Book a live 1-on-1 session where we show you exactly which of your daily tasks can be automated — and what it’s costing you not to.