Skip to content
Automation

Automation · 01

GoHa Automations

The n8n side of GoHa, my productivity app. Every minute it collects due jobs from the app and sends morning briefs, evening summaries, review drafts and task reminders, while separate workflows watch the app's health and send account emails, so reminders arrive once and on time.

Stack
  • n8n
  • Gemini
  • Gmail
  • Webhooks

01 / 05

Zoomed-out n8n canvas of the GoHa central dispatcher
Open full size (opens in a new tab)

Image 1 of 5: Zoomed-out n8n canvas of the GoHa central dispatcher

Overview

The problem. Reminders and summaries have to arrive on time and only once, even when an AI call fails or a job is left half-finished. And if the app goes down, I need to know before anyone else does.

What I built. I built a central dispatcher in n8n that claims due jobs from GoHa's internal API every minute, routes each by type, has Gemini write the wording, validates it with a fallback and reports the result back to the app. Health Watch checks the app every 15 minutes and emails an incident or recovery alert when its state changes, and webhook workflows send welcome and password-reset emails through Gmail.

Why it helps. Every job is claimed once and completed or reported, and outages are emailed the moment the app's state changes.

System flow

5 workflows

How the workflows connect.

  1. Schedule Trigger for the dispatcher. Nodes: Schedule Trigger (Poll Due Jobs). Next: Central dispatcher.
    Schedule Trigger for Health watch. Nodes: Schedule Trigger (Every 15 Minutes). Next: Health watch.
    GoHa calls these when an account is created or a reset is requested. Nodes: Webhook ×2 (Welcome Email, Password Reset Requested). Next: Account emails.
    The error workflow of the dispatcher and Health watch. Nodes: Error Trigger. Next: Error handler.
  2. Claims due jobs every minute and runs each one (96 nodes). Nodes: Edit Fields (Set) ×36; Switch ×15; HTTP Request · GoHa API ×13; Gmail ×11; Code ×7; Other nodes ×14. Next: GoHa internal API, Gemini, Gmail.
    Checks the app and emails incidents and recoveries (8 nodes). Nodes: Code ×2; IF ×2; Gmail ×2; Schedule Trigger; HTTP Request · GoHa API. Next: GoHa internal API, Gmail.
    Welcome (13 nodes) and password reset (6 nodes). Nodes: Respond to Webhook ×5; IF ×4; Code ×3; Gmail ×3; Webhook ×2; Other nodes ×2. Next: Gmail.
    Formats the failure into an alert (3 nodes). Nodes: Error Trigger; Edit Fields (Set); Gmail. Next: Gmail.
  3. Jobs: claim, payload, complete, fail. Plus /api/health. End of flow.
    Writes briefs, summaries, digests, review drafts and reminders. End of flow.
    Digests, account emails and every alert. End of flow.
Hover, focus or tap a stage to see the nodes behind it.