This workflow follows the Postgres → Telegram recipe pattern — see all workflows that pair these two integrations.
The workflow JSON
Copy or download the full n8n JSON below. Paste it into a new n8n workflow, add your credentials, activate. Full import guide →
{
"name": "Memorize Ghost Alerts",
"nodes": [
{
"name": "Cron Trigger",
"type": "n8n-nodes-base.cron",
"typeVersion": 1,
"position": [
250,
300
],
"parameters": {
"triggerTimes": {
"item": [
{
"hour": 9,
"minute": 0
}
]
}
}
},
{
"name": "Query Neon DB",
"type": "n8n-nodes-base.postgres",
"typeVersion": 1,
"position": [
450,
300
],
"parameters": {
"operation": "executeQuery",
"query": "SELECT t.id, t.title, t.retrievability, t.subject_type, u.telegram_chat_id FROM topics t JOIN users u ON t.user_id = u.id WHERE t.retrievability < 0.25 AND t.next_review <= NOW()",
"additionalFields": {}
},
"credentials": {
"postgres": {
"name": "<your credential>"
}
}
},
{
"name": "Filter Users With Telegram",
"type": "n8n-nodes-base.if",
"typeVersion": 1,
"position": [
650,
300
],
"parameters": {
"conditions": {
"string": [
{
"value1": "={{ $json.telegram_chat_id }}",
"operation": "isNotEmpty"
}
]
}
}
},
{
"name": "Send Telegram Alert",
"type": "n8n-nodes-base.telegram",
"typeVersion": 1,
"position": [
850,
300
],
"parameters": {
"chatId": "={{ $json.telegram_chat_id }}",
"text": "\ud83e\udde0 *Memorize Alert*\n\nYou're losing: *{{ $json.title }}*\nRetention: {{ Math.round($json.retrievability * 100) }}%\n\nReady for a 60-second save? \ud83d\udc49 [Open Memorize](https://memorize.yourdomain.com/topic/{{ $json.id }})",
"additionalFields": {
"parse_mode": "Markdown"
}
},
"credentials": {
"telegramApi": {
"name": "<your credential>"
}
}
}
],
"connections": {
"Cron Trigger": {
"main": [
[
{
"node": "Query Neon DB",
"type": "main",
"index": 0
}
]
]
},
"Query Neon DB": {
"main": [
[
{
"node": "Filter Users With Telegram",
"type": "main",
"index": 0
}
]
]
},
"Filter Users With Telegram": {
"main": [
[
{
"node": "Send Telegram Alert",
"type": "main",
"index": 0
}
]
]
}
}
}
Credentials you'll need
Each integration node will prompt for credentials when you import. We strip credential IDs before publishing — you'll add your own.
postgrestelegramApi
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
Memorize Ghost Alerts. Uses postgres, telegram. Scheduled trigger; 4 nodes.
Source: https://github.com/bchbenjamin/skulltimate/blob/57caef863d5ab6fc16633e7f926079581e44296b/n8n/synapse-alerts.json — original creator credit. Request a take-down →
Related workflows
Workflows that share integrations, category, or trigger type with this one. All free to copy and import.
Premium / Error watch (app_logs → Telegram alerts). Uses postgres, telegram. Scheduled trigger; 4 nodes.
This workflow performs scheduled health checks on a list of URLs stored in a Google Sheet. Every X minutes, it retrieves the URLs, sends HTTP requests to check their availability, and notifies a Teleg
Daily Recon + New Subdomain Alert. Uses httpRequest, readBinaryFiles, slack, telegram. Scheduled trigger; 6 nodes.
Yard Stats: Alerts Report. Uses httpRequest, emailSend, telegram. Scheduled trigger; 5 nodes.
Solana Wallet Monitor — Telegram Alerts. Uses httpRequest, telegram. Scheduled trigger; 4 nodes.