AppsPricingBlogTry it
Google Sheets logo
GitHub logo

Connect Google Sheets to GitHub

Build an AI agent that works across Google Sheets and GitHub, on a schedule or when you click Run.

24 source actions
24 target actions
Reverse direction supported

Why Connect Google Sheets & GitHub?

Read what you need from Google Sheets

Your agent uses Google Sheets's documented actions to pull the records it needs, each time it runs.

Run a GitHub action

Then it uses one of 24 documented actions, such as Create Issue, Search Issues and Pull Requests, Create Branch.

Test it, then put it on a schedule

Run it once on your own data and check the result. Then set it to run daily, on weekdays or weekly.

Available Triggers & Actions

Google Sheets logo

Google Sheets

Triggers (8)

New Comment

Emit new event each time a comment is added to a spreadsheet.

polling
New Comment (Instant)

Emit new event each time a comment is added to a spreadsheet.

webhook
New Row Added

Emit new event each time a row or rows are added to the bottom of a spreadsheet.

polling
New Row Added (Instant)

Emit new event each time a row or rows are added to the bottom of a spreadsheet.

webhook
New Updates

Emit new event each time a row or cell is updated in a spreadsheet.

polling
New Updates (Instant)

Emit new event each time a row or cell is updated in a spreadsheet.

webhook
New Worksheet (Instant)

Emit new event each time a new worksheet is created in a spreadsheet.

webhook
New Worksheet (Polling)

Emit new event each time a new worksheet is created in a spreadsheet.

polling

Actions (24)

Add Single Row

Add a single row of data to Google Sheets. Optionally insert the row at a specific index (e.g., row 2 to insert after headers, shifting existing data down). See the documentation

Add Multiple Rows

Add multiple rows of data to a Google Sheet. See the documentation

Get Values in Range

Get all values or values from a range of cells using A1 notation. See the documentation

Add Conditional Format Rule

Create conditional formatting with color scales or custom formulas. See the documentation

Add Protected Range

Add edit protection to cell range with permissions. See the documentation

Add Rows

Append one or more rows to a Google Sheets worksheet. Pass rows as a JSON array. **Preferred format:** array of objects with column header keys (e.g., [{"Name": "Alice", "Email": "alice@example.com"}]). Use **Get Spreadsheet Info** first to discover the exact column header names — keys must match headers exactly (case-sensitive). Alternatively, pass rows as arrays of positional values matching column order. New rows are appended after the last row with data.

Add Worksheet

Add a new worksheet (tab) to an existing spreadsheet. Optionally set column headers. Use **Get Spreadsheet Info** to see existing worksheets before creating.

Clear Cell

Delete the content of a specific cell in a spreadsheet. See the documentation

Clear Rows

Delete the content of a row or rows in a spreadsheet. Deleted rows will appear as blank rows. See the documentation

Copy Worksheet

Copy an existing worksheet to another Google Sheets file. See the documentation

Create Column

Create a new column in a spreadsheet. See the documentation

Create Spreadsheet

Create a blank spreadsheet or duplicate an existing spreadsheet. See the documentation

Create Worksheet

Create a blank worksheet with a title. See the documentation

Delete Conditional Format Rule

Remove conditional formatting rule by index. See the documentation

Delete Rows

Deletes the specified rows from a spreadsheet. See the documentation

Delete Worksheet

Delete a specific worksheet. See the documentation

Find Row

Find one or more rows by a column and value. See the documentation

Find Rows

Search for rows matching a value in a specific column. Use **Get Spreadsheet Info** to discover column header names. Returns matching rows as objects with row numbers (useful for subsequent **Update Rows** calls). For simple reads without filtering, use **Read Rows** instead.

Get Cell

Fetch the contents of a specific cell in a spreadsheet. See the documentation

Get Current User

Retrieve Google Sheets account metadata for the authenticated user by calling Drive's about.get, returning the user profile (display name, email, permission ID) and storage quota information. Helpful when you need to verify which Google account is active, tailor sheet operations to available storage, or give an LLM clear context about the user identity before composing read/write actions. See the Drive API documentation.

Get Spreadsheet by ID

Returns the spreadsheet at the given ID. See the documentation for more information

Get Spreadsheet Info

Get the structure of a Google Spreadsheet — worksheet names, column headers (first row of each sheet), and row counts. **Call this first** before reading or writing data, so you know the worksheet names and column headers. The column headers are used as keys when writing data with **Add Rows** or **Update Rows**. The spreadsheet ID is the long string in the Google Sheets URL: https://docs.google.com/spreadsheets/d/{spreadsheetId}/edit.

Insert an Anchored Note

Insert a note on a spreadsheet cell. See the documentation

Insert Comment

Insert a comment into a spreadsheet. See the documentation

GitHub logo

GitHub

Triggers (12)

New Branch Created

Emit new event when a branch is created.

polling
New Card in Column (Classic Projects)

Emit new event when a (classic) project card is created or moved to a specific column. For Projects V2 use New Issue with Status trigger. More information here

polling
New Collaborator

Emit new event when a collaborator is added

polling
New Commit

Emit new event when commits are pushed to a branch

polling
New Commit Comment

Emit new event when a commit comment is created

polling
New Discussion

Emit new event when a discussion is created

polling
New Fork

Emit new event when a repository is forked

polling
New Gist

Emit new events when new gists are created by the authenticated user. See the documentation

polling
New Issue Comment

Emit new event when a new comment is added to an issue or pull request

polling
New Label

Emit new event when a new label is created

polling
New Mention

Emit new event when you are @mentioned in a new commit, comment, issue or pull request. See the documentation

polling
New Notification

Emit new event when the authenticated user receives a new notification. See the documentation

polling

Actions (24)

Create Issue

Create a new issue in a GitHub repo. See the documentation

Search Issues and Pull Requests

Find issues and pull requests by state and keyword. See the documentation

Create Branch

Create a new branch in a GitHub repo. See the documentation

Create Gist

Allows you to add a new gist with one or more files. See the documentation

Create Issue Comment

Create a new comment in a issue. See the documentation

Create or Update File Contents

Create or update a file in a repository. See the documentation

Create Pull Request

Creates a new pull request for a specified repository. See the documentation

Create Repository

Creates a new repository for the authenticated user. See the documentation

Create Workflow Dispatch

Creates a new workflow dispatch event. See the documentation

Disable Workflow

Disables a workflow and sets the **state** of the workflow to **disabled_manually**. See the documentation

Enable Workflow

Enables a workflow and sets the **state** of the workflow to **active**. See the documentation

Get Commit

Get a commit in a GitHub repo. See the documentation

Get Current User

Gather a full snapshot of the authenticated GitHub actor, combining /user, /user/orgs, and /user/teams. Returns profile metadata (login, name, email, company, plan, creation timestamps) and trimmed lists of organizations and teams for quick role awareness. Helpful when you need to validate which user is calling the API, adapt behavior based on their org/team memberships, or provide LLMs with grounding before repository operations. See the documentation.

Get Issue

Get details of an issue in a GitHub repository. See the documentation

Get Issue Assignees

Get assignees for an issue in a GitHub repo. See the documentation

Get Repository Content

Get the content of a file or directory in a specific repository. See the documentation

Get Repository Info

Get information for a specific repository. See the documentation

Get Reviewers

Get reviewers for a PR (see documentation) or Commit SHA (see documentation).

Get Workflow Run

Gets a specific workflow run. See the documentation

List Branches

List branches for a repository using its owner/repo full name (for example, octocat/Hello-World). If you need to discover repository names first, use **List Repositories**. See the documentation

List Commits

List commits in a GitHub repo. See the documentation

List Gist Id Options

Retrieves available options for the Gist Id field.

List Gists for a User

Lists public gists for the specified user. See the documentation

List Organization Options

Retrieves available options for the Organization field.

Integration Features

24 documented Google Sheets actions
24 documented GitHub actions
Plain-English agent instructions
Daily, weekday or weekly schedule, or run on demand
Execution monitoring
A supported GitHub to Google Sheets direction

Capability Examples

Google Sheets trigger → GitHub action

Catalog example
Google SheetsGoogle Sheets

New Comment

GitHubGitHub

Create Issue

GitHub trigger → Google Sheets action

Reverse direction
GitHubGitHub

New Branch Created

Google SheetsGoogle Sheets

Add Single Row

How It Works

1

Connect Apps

Authenticate your Google Sheets and GitHub accounts

2

Describe the Job

Say what to read from Google Sheets and what to do in GitHub

3

Choose an Action

Select the documented GitHub operation to run

Test and Review

Verify field mapping and provider responses before activation

Frequently Asked Questions

Integration Benefits

Scheduled or On-demand Runs

Runs daily, on weekdays or weekly at a set time, or when you click Run. It does not fire on live Google Sheets events yet.

Automated Actions

Use 24 documented GitHub actions each time the agent runs.

Provider Authentication

Review the authentication requirements published by each provider before activating the workflow.

Guided Configuration

Describe the job in plain English. The agent picks theGoogle Sheets and GitHub actions it needs.

Your Own Accounts

You connect your own Google Sheets and GitHub accounts. App connections need a paid plan.

Execution Review

Test the workflow and review provider responses before relying on it in production.

GitHub logoGoogle Sheets logo

Reverse Integration Available

Also connect GitHub to Google Sheets for bidirectional automation

View Integration
Google Sheets logo

All Google Sheets Integrations

Explore all available Google Sheets connections

View All Integrations
GitHub logo

All GitHub Integrations

Explore all available GitHub connections

View All Integrations

Ready to Connect Google Sheets & GitHub?

Build this agent in Mazaal AI and test it on your ownGoogle Sheets and GitHub data.

Start building

Rather not build it yourself? We set up one Google Sheets to GitHub agent on your accounts for A$490: a 30-minute call, a test on your real data, and 14 days of fixes. Plan billed separately. Email Enod