Bring unresolved Buildkite failures back to the right people
Give lingering failures a clear follow-up without keeping a manual reminder list.
Trigger
Recurring schedule
Notis starts this workflow on a schedule, such as daily, weekly, or during business hours.
Action
Send Email
Sends an email via gmail api using the authenticated user's google profile display name, requiring `is html=true` if the body contains html and valid `s3key`, `mimetype`, `name` for any attachment.
Why this helps
A build failure can remain unresolved after the first alert because the follow-up gets buried by newer work.
- Checks for failures against your stated unresolved criteria.
- Sends a reminder to the owner when that information is available.
- Keeps the message focused on the build and next step.
Setup
Build it in a few focused steps.
- 1Connect Buildkite and Gmail once in Notis.
- 2Create an automation in Automations, New Automation, or tell Notis to create it from any channel.
- 3In one instruction, define unresolved status and ask Notis to email the owner with the build details and requested next step.
- 4Choose a recurring schedule and select where run reports should go.
- 5Test with one real unresolved failure and verify owner resolution and reminder wording.
Questions about this workflow
How are owners determined?
Use owner information available from Buildkite or specify how to resolve recipients. If there is no owner data, provide recipients in the instruction.
How can I avoid repeated reminders?
Specify a reminder policy and supply the history or state needed to know what has already been sent.
Does it remind people about every failed build?
Only if your criteria classify the failure as unresolved and the workflow has enough information to assess that.
When this happens · Trigger
Do this · Action
Supported Triggers and Actions
Notis builds workflows that link Buildkite to Gmail. A trigger fires from one place; an action lands in another.
Buildkite triggers
Gmail actions
Recurring trigger
Notis starts this workflow on a schedule, such as daily, weekly, or during business hours.
Modify email labels
Adds and/or removes specified gmail labels for a message; ensure `message id` and all `label ids` are valid (use 'listlabels' for custom label ids).
Webhook trigger
Notis starts this workflow when an external tool or custom backend sends an HTTP request.
Create email draft
Creates a gmail email draft, supporting to/cc/bcc, subject, plain/html body (ensure `is html=true` for html), attachments, and threading.
Create label
Creates a new label with a unique name in the specified user's gmail account.
Delete Draft
Permanently deletes a specific gmail draft using its id; ensure the draft exists and the user has necessary permissions for the given `user id`.
Delete message
Permanently deletes a specific email message by its id from a gmail mailbox; for `user id`, use 'me' for the authenticated user or an email address to which the authenticated user has delegated access.
Fetch emails
Fetches a list of email messages from a gmail account, supporting filtering, pagination, and optional full content retrieval.
Fetch message by message ID
Fetches a specific email message by its id, provided the `message id` exists and is accessible to the authenticated `user id`.
Fetch Message by Thread ID
Retrieves messages from a gmail thread using its `thread id`, where the thread must be accessible by the specified `user id`.
Connect any two apps with Notis in the middle.
Buildkite and Gmail, or any other combination from 1,000+ integrations.
When this happens · Trigger
Do this · Action
Save your first hour today.
7-day trial of any paid plan, with 20$ of usage included.
No card. Works with personal or business Gmail.