# Automate with GitHub

> Build rules that react to GitHub activity and act back on GitHub — no scripts, no glue code.

Source: https://infranest.io/docs/automate-with-github
Last updated: 2026-09-14

---

This article is for InfraNest users who want their infrastructure automations to react to activity in their GitHub repositories, and to take action on GitHub automatically — no coding required.

## Overview
- Build automations that watch for things happening on GitHub, like a failed workflow run or a new pull request, and respond automatically.
- Trigger GitHub actions — like creating an issue or merging a pull request — from any automation in InfraNest.
- Everything is set up visually in the automation builder, using **GitHub** triggers and actions.

> [!NOTE]
> Before you can use GitHub triggers or actions, you need to connect your GitHub account. If you pick a GitHub trigger first, InfraNest will remind you to connect.

## Connect GitHub
1. Go to **Integrations**.
2. Find **GitHub** and select **Connect GitHub**.
3. Choose **Connect with {provider}** or **Install GitHub App**, and follow the prompts to authorize access.
4. Once connected, GitHub triggers and actions will appear grouped under **GitHub** in the automation builder.

## React to GitHub activity
1. Open **Automations** and select **New automation**.
2. Under **When this happens**, choose **On event**.
3. Pick a GitHub trigger, such as:
   - **GitHub workflow run** — started, finished, failed or succeeded
   - **GitHub issue** or **GitHub issue comment** — opened, closed, labeled, assigned or commented
   - **GitHub push**, **GitHub branch/tag created** or **GitHub branch/tag deleted**
   - **GitHub pull request** or **GitHub PR review** — opened, merged, closed, approved or changes requested
   - **GitHub release** — published
   - **GitHub deployment**, **GitHub deployment status**, **GitHub commit status**, **GitHub check run** or **GitHub check suite**
4. Use **Add condition** to add **Only if** filters — for example, only for the `main` branch, a specific repository, only failures, or only your **Organization** account rather than a personal one.
5. Start typing in the **Repository (owner/repo)** field to pick from your connected repositories.

<!-- screenshot: github-triggers -->

<!-- docs-screenshots:start:github-triggers -->

![Automate with GitHub](/media/9f273438-7bf7-4bf9-8194-af948fcb23a4)

<!-- docs-screenshots:end:github-triggers -->

## Act on GitHub
1. In your automation, go to **Do this** and select **Add action**.
2. Choose a GitHub action from the list, such as:
   - **Trigger GitHub workflow**, **Re-run GitHub workflow**, **Re-run failed jobs**, or **Cancel GitHub run**
   - **Create GitHub issue**, **Comment on GitHub issue**, **Update GitHub issue**, **Close GitHub issue**, **Reopen GitHub issue**, **Add issue labels**, **Remove issue label**, or **Assign GitHub issue**
   - **Merge pull request**, or **Request PR review** from people or a **Teams** entry
   - **Create GitHub deployment**, **Set deployment status**
   - **Create GitHub release**
   - **Set commit status**
3. Fill in the fields for that action — for example **Repository (owner/repo)**, **Workflow file or id**, **Branch or tag**, **Environment**, **Labels (comma-separated)**, **Assignees (comma-separated)**, or **Reviewers**.
4. For any field, you can type a value directly, pick a suggestion from your connected GitHub account, or use **Insert value** to pull in a placeholder from the trigger.
5. Select **Add action** again to add more steps, or **Save automation** when you're done.

<!-- screenshot: github-actions -->

<!-- docs-screenshots:start:github-actions -->

![Automate with GitHub](/media/5750fed5-2fef-402a-8f84-f2effb1af723)

<!-- docs-screenshots:end:github-actions -->

## Examples
- SSL renewal failed → **Create GitHub issue**, add the label `infrastructure`, and use **Assign GitHub issue** to assign it to your DevOps team.
- A monitor recovered → **Comment on GitHub issue**, then **Close GitHub issue**.
- A pull request merged into `main` → **Run GitHub workflow** to deploy, then **Set deployment status**.
- Your production health check passed → **Set commit status** to success.
- A release was published → **Post status-page announcement**.

## Tips
- When one action creates something — like an issue or a deployment — later steps in the same automation can reuse it automatically, without extra setup.
- Requesting a review from a **Teams** entry requires an **Organization** connection, not a personal account.

> [!TIP]
> Some actions show a **Pro** badge in the builder — these require a higher plan to use.

## Troubleshooting
- If a GitHub trigger never fires, check that GitHub is properly connected under **Integrations**, and ask your administrator to confirm the app is subscribed to that type of event.
- If an automation shows **Last run failed** or gets **Auto-disabled after repeated failures**, open the automation and check **Run history** for details, then use **Retry** or **Re-run** as needed.
