Skip to content
Notis

Catch Buildkite builds that have been running too long

Let a scheduled check flag builds that exceed the time window you choose and prompt the right follow-up.

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 long-running build can quietly hold up work when nobody is watching the pipeline.

  • Checks for builds beyond your chosen time threshold.
  • Includes available build and pipeline status in the email.
  • Reduces the need to repeatedly refresh Buildkite.

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, set the elapsed-time threshold and ask Notis to email the responsible recipients about matching builds.
  • 4Choose a recurring schedule and select where run reports should go.
  • 5Test with one real long-running build and verify the threshold and recipient list.

Questions about this workflow

What counts as stalled?

Set a threshold in your instruction. Buildkite data must include enough timing and status information to assess it.

Will it send repeated alerts?

A recurring check can find the same build again. Specify how to handle previously reported builds, and provide history or state if deduplication is needed.

Can Notis tell why the build is slow?

It can report available status and logs, but should not claim a cause unless the returned data supports it.

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.

TriggerScheduled

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).

ActionInstant

Webhook trigger

Notis starts this workflow when an external tool or custom backend sends an HTTP request.

TriggerInstant

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.

ActionInstant

Create label

Creates a new label with a unique name in the specified user's gmail account.

ActionInstant

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`.

ActionInstant

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.

ActionInstant

Fetch emails

Fetches a list of email messages from a gmail account, supporting filtering, pagination, and optional full content retrieval.

ActionInstant

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`.

ActionInstant

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`.

ActionInstant

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.