24/10/2025
📰 𝗧𝗲𝘀𝘁𝗶𝗻𝗴 𝗜𝗻𝘁𝗲𝗴𝗿𝗮𝘁𝗶𝗼𝗻 𝗣𝗮𝘁𝘁𝗲𝗿𝗻𝘀 𝘄𝗶𝘁𝗵 𝗖𝗿𝗼𝗻, 𝗛𝗼𝗼𝗸𝗱𝗲𝗰𝗸, 𝗮𝗻𝗱 𝗻𝟴𝗻
💵I sold this workflow for 10,000💲
.. Well it's just a '𝘧𝘳𝘪𝘥𝘢𝘺' joke 😜
𝗜𝗻 𝗿𝗲𝗮𝗹𝗶𝘁𝘆 𝗜 𝗵𝗮𝗱 𝗮 𝗽𝗿𝗼𝗯𝗹𝗲𝗺: in the free Supabase version projects are frozen after one week of inactivity. Rather than simply implementing a quick fix, I used this as an opportunity to test the integration between three powerful automation tools:
1. Supabase cron functionality,
2. Hookdeck webhook infrastructure,
3. n8n workflow automation.
• 𝗞𝗲𝘆 𝗗𝗲𝘀𝗶𝗴𝗻 𝗣𝗿𝗶𝗻𝗰𝗶𝗽𝗹𝗲𝘀:
The workflow is intentionally simple by design, implementing 𝗮 𝗯𝗮𝘀𝗶𝗰 𝘬𝘦𝘦𝘱-𝘢𝘭𝘪𝘷𝘦 𝗳𝘂𝗻𝗰𝘁𝗶𝗼𝗻 that pings a database table with timestamps
The real value lies not in the functionality itself, but in validating how these services work together. By keeping the business logic minimal, I could focus on understanding the integration points rather than complex application logic
• 𝗧𝗵𝗲 𝗜𝗻𝘁𝗲𝗴𝗿𝗮𝘁𝗶𝗼𝗻 𝗙𝗹𝗼𝘄:
Supabase's pg_cron extension sends scheduled HTTP requests from the database level. These requests route through Hookdeck, which provides delivery reliability, automatic retries, and detailed observability n8n receives the webhook and updates the Supabase database, completing the integration loop
• 𝗗𝘂𝗮𝗹-𝗧𝗿𝗶𝗴𝗴𝗲𝗿 𝗔𝗿𝗰𝗵𝗶𝘁𝗲𝗰𝘁𝘂𝗿𝗲:
The 𝗻𝟴𝗻 workflow includes both a webhook endpoint and its own scheduled trigger running daily at 3 AM. This dual approach provides redundancy if any part of the webhook chain fails It allows testing both integration patterns: 𝗱𝗮𝘁𝗮𝗯𝗮𝘀𝗲-𝗱𝗿𝗶𝘃𝗲𝗻 𝘄𝗲𝗯𝗵𝗼𝗼𝗸𝘀 𝗮𝗻𝗱 𝗻𝗮𝘁𝗶𝘃𝗲 𝗻𝟴𝗻 𝘀𝗰𝗵𝗲𝗱𝘂𝗹𝗶𝗻𝗴.
If 𝗛𝗼𝗼𝗸𝗱𝗲𝗰𝗸 experiences downtime (really almost impossible!) or 𝗦𝘂𝗽𝗮𝗯𝗮𝘀𝗲's cron encounters issues, the 𝗻𝟴𝗻 scheduler ensures continuity. Both trigger paths merge before the database update, ensuring consistent behavior.
• 𝗪𝗵𝗮𝘁 𝗧𝗵𝗶𝘀 𝗧𝗲𝘀𝘁𝘀:
1. How does 𝗦𝘂𝗽𝗮𝗯𝗮𝘀𝗲 format its cron requests?
2. What metadata does 𝗛𝗼𝗼𝗸𝗱𝗲𝗰𝗸 add to forwarded webhooks?
3. How reliably does each trigger method work under different conditions?
4. Can the system handle failover scenarios gracefully?
This approach serves as a 𝗳𝗼𝘂𝗻𝗱𝗮𝘁𝗶𝗼𝗻 𝗳𝗼𝗿 𝗺𝗼𝗿𝗲 𝗰𝗼𝗺𝗽𝗹𝗲𝘅 𝗮𝘂𝘁𝗼𝗺𝗮𝘁𝗶𝗼𝗻𝘀.
Once you verify that scheduled database jobs can reliably trigger webhooks through a delivery service, execute workflow logic, and fall back to native scheduling when needed, you can build more sophisticated systems with confidence.
Sometimes the best way to learn a new integration pattern is to 𝗶𝗺𝗽𝗹𝗲𝗺𝗲𝗻𝘁 𝘁𝗵𝗲 𝘀𝗶𝗺𝗽𝗹𝗲𝘀𝘁 𝗽𝗼𝘀𝘀𝗶𝗯𝗹𝗲 𝘂𝘀𝗲 𝗰𝗮𝘀𝗲. The 𝘬𝘦𝘦𝘱-𝘢𝘭𝘪𝘷𝘦 function solves the immediate problem while serving as a vehicle for testing how these services communicate, handle edge cases, and provide failover capabilities.