Skip to content
Notis

Daily automated GitHub token health checks

Every morning, Notis validates that your GitHub API tokens are still active. If one expires, you get a heads-up before workflows start failing.

Trigger

Recurring schedule

Notis starts this workflow on a schedule, such as daily, weekly, or during business hours.

Action

Check a token

Checks if a github app or oauth access token is valid for the specified client id and retrieves its details, typically to verify its active status and grants.

Why this helps

GitHub tokens expire silently. Workflows fail mid-day because a token expired overnight, and nobody notices until things break. Debugging takes time when the issue is just 'token expired'.

  • Catch expired tokens before workflows fail
  • Automatic daily health checks require no setup
  • Never debug 'token expired' issues during critical work
  • Reduce unplanned downtime

Setup

Build it in a few focused steps.

  • 1Connect your GitHub account to Notis (one-time setup)
  • 2Create an automation: 'Every morning at 9am, check if my GitHub API tokens are valid'
  • 3Select 'Notis Cron' as your trigger and set it to daily
  • 4Choose Slack or email to receive token health reports
  • 5Test by running the check immediately and confirming you get a report

Questions about this workflow

What should I do if the token check fails?

Notis will tell you which token expired. Go to GitHub settings and generate a new token, then reconnect it to Notis.

Can I check more than once a day?

Yes. You can set multiple cron jobs at different times (morning, afternoon, evening).

Will this tell me how long until a token expires?

Notis checks if a token is valid now. For expiration dates, you'll need to check GitHub's settings directly.

When this happens · Trigger

Do this · Action

Supported Triggers and Actions

Notis builds workflows that link Google Sheets to GitHub. A trigger fires from one place; an action lands in another.

Google Sheets triggers

GitHub actions

Aggregate Metric Changed

Triggers when an aggregate metric (SUM/COUNT/AVG/MIN/MAX) changes in a Google Sheets spreadsheet. This trigger monitors an aggregate calculation on a target column (optionally filtered by a search column/value) and fires when the calculated result changes.

TriggerPolling

Accept a repository invitation

Accepts a pending repository invitation that has been issued to the authenticated user.

ActionInstant

Cell Range Values Changed

Triggers when values in a specified A1 range change in Google Sheets. This trigger monitors a specific cell or range of cells and fires when any values change.

TriggerPolling

List repositories starred by the authenticated user

Deprecated: lists repositories starred by the authenticated user, including star creation timestamps; use 'list repositories starred by the authenticated user' instead.

ActionInstant

Conditional Format Rule Changed

Triggers when conditional formatting rules change in a Google Spreadsheet. Detects when rules are added, updated, or removed. Uses snapshot-based diffing to detect changes between polls.

TriggerPolling

List stargazers

Deprecated: lists users who have starred a repository; use `list stargazers` instead.

ActionInstant

Data Validation Rule Changed

Triggers when data validation rules change (added/updated/removed) in a Google Spreadsheet. Uses snapshot-based diffing to detect changes between polls.

TriggerPolling

Star a repository for the authenticated user

Deprecated: stars a repository for the authenticated user; use `star a repository for the authenticated user` instead.

ActionInstant

Developer Metadata Changed

Triggers when developer metadata entries change (new/updated/removed) in a Google Spreadsheet. Uses snapshot-based diffing to detect changes between polls.

TriggerPolling

Add email for auth user

Adds one or more email addresses (which will be initially unverified) to the authenticated user's github account; use this to associate new emails, noting an email verified for another account will error, while an existing email for the current user is accepted.

ActionInstant

Filtered Range Values Changed

Polling trigger that monitors Google Sheets filtered ranges for value changes. Uses snapshot-based diffing to detect when values matching a data filter change. Emits the matched values when changes are detected.

TriggerPolling

Add app access restrictions

Replaces github app access restrictions for an existing protected branch; requires a json array of app slugs in the request body, where apps must be installed and have 'contents' write permissions.

ActionInstant

New Rows in Google Sheet

Simple polling trigger that monitors Google Sheets for new rows. Detects when new rows are added and returns the complete row data. Perfect for triggering any workflow based on new sheet entries.

TriggerPolling

Add a repository collaborator

Adds a github user as a repository collaborator, or updates their permission if already a collaborator; `permission` applies to organization-owned repositories (personal ones default to 'push' and ignore this field), and an invitation may be created or permissions updated directly.

ActionInstant

New Sheet Added in Google Spreadsheet

Polling trigger that detects when a new sheet is added to a Google Spreadsheet.

TriggerPolling

Add a repository to an app installation

Adds a repository to a github app installation, granting the app access; requires authenticated user to have admin rights for the repository and access to the installation.

ActionInstant

Connect any two apps with Notis in the middle.

Not just Google Sheets and GitHub. Any combination from 1,000+ integrations.

When this happens · Trigger

Do this · Action

Save your first hour today.

7 days free trial with 20$ free usage included.
No card. Works with personal or business GitHub.