Library / Monitoring, Ops & Incidents
Monitoring, Ops & Incidents
Log Workflow Errors and Limit Alert Emails
When any workflow fails, it logs the error in Postgres, emails you only up to a limit per five minutes, and sends a Pushover alert.
What it does
# Log errors and avoid sending too many emails ## Use case Most of the time, it’s necessary to log all errors that occur. However, in some cases, a scheduled task or service consuming excessive resources might trigger a surge of errors. To address this, we can log all errors but limit alerts to a maximum of one notification every 5 minutes. ## What this workflow does This workflow can be configured to receive error events, or you can integrate it before your own error-handling logic. If used as the primary error handler, note that this flow will only add a database log entry and take no further action. You’ll need to add your own alerts (e.g., email or push notifications). Below is an example of a notification setup I prefer to use. At the end, there’s an error cleanup option. This feature is particularly useful in development environments. If you already have an error-handling workflow, you can call this one as a sub-workflow. Its final steps include cleanup logic to reset the execution state and terminate the workflow. ## Setup Verify all Postgres nodes and credentials when using the 'Error Handling Sample' ## How to adjust it to your needs 1) You can set this workflow as a sub-workflow within your existing error-handling setup. 2) Alternatively, you can add the "Error Handling Sample" at the end of this workflow, which sends email and push notifications. Configuration Requirements: ⚠️ You must create a database table for this to work! DDL of this sample: create table p1gq6ljdsam3x1m."N8Err" ( id serial primary key, created_at timestamp, updated_at timestamp, created_by varchar, updated_by varchar, nc_order numeric, title text, "URL" text, "Stack" text, json json, "Message" text, "LastNode" text ); alter table p1gq6ljdsam3x1m."N8Err" owner to postgres; create index "N8Err_order_idx" on p1gq6ljdsam3x1m."N8Err" (nc_order); by Davi Saranszky Mesquita https://www.linkedin.com/in/mesquitadavi/
The steps
- Error Trigger
- Insert Log
- Count for 5 minutes
- Principal E-Mail
- Fallback E-Mail
- Push mobile notification
- Truncate Log Database
- Sometimes... just cleanup
- Call this Sample - Prepend to your error catcher
- See below to prepend this at your error handling
- If there is no logs in 5 minutes
- CleanUp execution. See below if you will prepend this workfl
- Insert your error handling logic after this
Similar automations
Monitoring, Ops & IncidentsLog workflow errors to Postgres and throttle Pushover and SMTP alerts13 stepsMonitoring, Ops & IncidentsLog Workflow Errors and Throttle Alert Emails30 stepsAlerts & NotificationsSend Notion Task Deadline Reminders by Email and Pushover27 stepsAlerts & NotificationsSend Notion task summaries as HTML email and Pushover alerts on manual run18 steps