# Microsoft Excel 365

Read, add and update rows in Excel workbooks in OneDrive or SharePoint, by sheet or by table, and create and organize workbooks and sheets.

## Connect Microsoft Excel 365

1. In the sidebar, open **Connections** and press **Add connection**.
2. Type `microsoft excel 365` and choose **Microsoft Excel 365**.
3. Press **Sign in with Microsoft Excel 365**, then choose your account in Microsoft Excel 365’s window and allow access.

Before you sign in, the sheet asks:

- **Account type · Optional**: Which Microsoft accounts may sign in: common (work, school or personal; the default when empty), organizations (work or school only) or consumers (personal only). For your own app registered for one directory only (single tenant), its Directory (tenant) ID.

Microsoft Excel 365 works with work and school accounts (Microsoft’s workbook API does not reach personal OneDrive).

**What if it says “Microsoft Excel 365 sign-in isn’t set up here”?**

Signing in with Microsoft Excel 365 needs a Microsoft Excel 365 app on this installation, and it has none yet.

**On Cloud:** The sheet says “It’s set up once for everyone who uses this service, not by an organization.”

**Self-hosted:** An admin of the installation sees **Set up Microsoft Excel 365 sign-in** instead, and sets it up once for everyone. Everyone else sees who to ask.

1. Create an app in Microsoft Excel 365’s developer settings ([Microsoft Excel 365’s guide](https://learn.microsoft.com/entra/identity-platform/quickstart-register-app)).
2. In GoRunner, copy the **Redirect address to add in Microsoft Excel 365’s developer settings**, and add it to the app.
3. Paste the **Client ID** and **Client secret**, then press **Save and sign in**.

[Set up a sign-in app](https://docs.gorunner.io/self-host/oauth-apps#other-providers)

**Can I use my own Microsoft Excel 365 app?**

Yes. In the sheet, open **Use your own Microsoft Excel 365 app** and paste its **Client ID** and **Client secret**. Add the redirect address it shows to your app first. The connection then signs in through your app instead of the installation’s.

[Connections](https://docs.gorunner.io/build/connections) says how to sign in again, rename or delete it. In a product that embeds GoRunner, **Add connection** can be missing: then [your provider makes connections](https://docs.gorunner.io/embed/customer-connections) for you.

## Do things in Microsoft Excel 365

Add a **Microsoft Excel 365** step, choose a **Resource**, then an **Operation**. Choose a row to see its fields.

- [Sheet Within Workbook](https://docs.gorunner.io/apps/microsoft-excel-365#fields-f-worksheet): Append Rows · Append or Update Rows · Update Rows · Get Rows · Clear · Get Many · Delete
- [Table](https://docs.gorunner.io/apps/microsoft-excel-365#fields-f-table): Append Rows · Create · Get Rows · Get Columns · Look Up Rows · Update Row · Convert to Range · Delete
- [Workbook](https://docs.gorunner.io/apps/microsoft-excel-365#fields-f-workbook): Create · Add Sheet · Get Many · Delete

To start a workflow from Microsoft Excel 365, use a [Schedule](https://docs.gorunner.io/apps/schedule), [Webhook](https://docs.gorunner.io/apps/webhook) or [Form](https://docs.gorunner.io/apps/form) trigger.

Later steps read a step’s output by its name: see [Use data from earlier steps](https://docs.gorunner.io/build/use-data-from-earlier-steps).

## Limits

- A reply from Microsoft Excel 365 can be up to 16 MB (a file download can have its own limit). A larger one fails the step; it is never cut short.
- When Microsoft Excel 365 says to slow down (429), the step waits as long as it asks, if the step’s time allows. Otherwise it fails and says when to try again.

Not in your list? See [When an app isn’t here](https://docs.gorunner.io/apps/when-an-app-isnt-here#q-not-in-list).

## For developers

In the API, which calls apps pieces, Microsoft Excel 365 is `pieceId: "microsoftexcel"` with `actionId: "microsoftexcel"`, set by `resource` and an `operation_…` field, such as `operation_table`. [Get an app](https://docs.gorunner.io/api/apps/get-app) returns every field.

It can change something outside the run (`writes_external`). See [How versions and side effects work](https://docs.gorunner.io/apps#q-versions).

### Microsoft Excel 365 › Sheet Within Workbook

### Append Rows

- **Workbook · Required**: The workbook: pick one from your OneDrive, or paste its OneDrive or SharePoint link.
- **Sheet · Required**: The sheet.
- **Rows · Required**: The rows, as a JSON list of objects keyed by the header's column names, such as [{"Name": "Ada", "Email": "ada@example.com"}]. A name the header lacks becomes a new column at the right. On an empty sheet the first row's names become the header.

### Append or Update Rows and Update Rows

- **Workbook · Required**: The workbook: pick one from your OneDrive, or paste its OneDrive or SharePoint link.
- **Sheet · Required**: The sheet.
- **Rows · Required**: The rows, as a JSON list of objects keyed by the header's column names, such as [{"Name": "Ada", "Email": "ada@example.com"}]. A name the header lacks becomes a new column at the right. On an empty sheet the first row's names become the header.
- **Column to Match On · Required**: The header name whose value in each row finds the row to change (compared as text). Update leaves a row without a match alone; Append or Update adds it.

### Get Rows

- **Workbook · Required**: The workbook: pick one from your OneDrive, or paste its OneDrive or SharePoint link.
- **Sheet · Required**: The sheet.
- **Range · Optional**: Only these cells (such as A1:D100). Empty reads (or clears) everything the sheet holds.
- **First Row Holds Column Names · Optional**: On: each row comes back as an object keyed by the first row's names. Off: each row is its list of cells. On by default.
- **Only Rows Where Column · Optional**: Keep only the rows whose value in this column (a header name) is the value below. Empty keeps every row. Shows when **First Row Holds Column Names** is on.
- **Equals · Optional**: The value to match, compared as text. Shows when **First Row Holds Column Names** is on.
- **Return All · Optional**: Read every row, page by page (at most 10000; past that the step fails rather than stop early). Off by default.
- **Limit · Optional**: How many rows to return (1–10000). Default: 100. Shows when **Return All** is off.

### Clear

- **Workbook · Required**: The workbook: pick one from your OneDrive, or paste its OneDrive or SharePoint link.
- **Sheet · Required**: The sheet.
- **Range · Optional**: Only these cells (such as A1:D100). Empty reads (or clears) everything the sheet holds.
- **Clear · Optional**: What to clear. Options: Values and formatting, Values only, Formatting only. Default: Values and formatting.

### Get Many

- **Workbook · Required**: The workbook: pick one from your OneDrive, or paste its OneDrive or SharePoint link.

### Delete

- **Workbook · Required**: The workbook: pick one from your OneDrive, or paste its OneDrive or SharePoint link.
- **Sheet · Required**: The sheet.

### Microsoft Excel 365 › Table

### Append Rows

- **Workbook · Required**: The workbook: pick one from your OneDrive, or paste its OneDrive or SharePoint link.
- **Table · Required**: The table.
- **Rows · Required**: The rows, as a JSON list of objects keyed by the table's column names, such as [{"Name": "Ada", "Email": "ada@example.com"}]. A name the table lacks fails the step.

### Create

- **Workbook · Required**: The workbook: pick one from your OneDrive, or paste its OneDrive or SharePoint link.
- **Sheet · Required**: The sheet.
- **Range · Optional**: The cells the table covers (such as A1:D20). Empty covers everything the sheet holds.
- **First Row Holds Column Names · Optional**: On: the range's first row names the columns. Off: Excel adds a header row named Column1, Column2, …. On by default.

### Get Rows

- **Workbook · Required**: The workbook: pick one from your OneDrive, or paste its OneDrive or SharePoint link.
- **Table · Required**: The table.
- **Rows as Lists of Cells · Optional**: On: each row is its list of cells. Off: an object keyed by column name. Off by default.
- **Return All · Optional**: Read every row, page by page (at most 10000; past that the step fails rather than stop early). Off by default.
- **Limit · Optional**: How many rows to return (1–10000). Default: 100. Shows when **Return All** is off.

### Get Columns

- **Workbook · Required**: The workbook: pick one from your OneDrive, or paste its OneDrive or SharePoint link.
- **Table · Required**: The table.
- **Return All · Optional**: Read every row, page by page (at most 10000; past that the step fails rather than stop early). Off by default.
- **Limit · Optional**: How many rows to return (1–10000). Default: 100. Shows when **Return All** is off.

### Look Up Rows

- **Workbook · Required**: The workbook: pick one from your OneDrive, or paste its OneDrive or SharePoint link.
- **Table · Required**: The table.
- **Lookup Column · Required**: The column (by name) to search.
- **Lookup Value · Optional**: The value to find, compared as text (empty finds blank cells).
- **Return All Matches · Optional**: On: every matching row. Off: the first one. Off by default.

### Update Row

- **Workbook · Required**: The workbook: pick one from your OneDrive, or paste its OneDrive or SharePoint link.
- **Table · Required**: The table.
- **Row Index · Required**: The row's row_index as Get Rows or Look Up returns it (0 is the first row under the header).
- **Values · Required**: The new values by column name, such as {"Plan": "Pro"}. Columns left out keep their values.

### Convert to Range and Delete

- **Workbook · Required**: The workbook: pick one from your OneDrive, or paste its OneDrive or SharePoint link.
- **Table · Required**: The table.

### Microsoft Excel 365 › Workbook

### Create

- **Name · Required**: The new workbook's file name (.xlsx is added when missing).
- **Folder · Optional**: The OneDrive folder's id it goes into. Empty is the top of the OneDrive.
- **First Sheet's Name · Optional**: The name of the workbook's one sheet. Default: Sheet1.
- **If the Name Is Taken · Optional**: What to do when the folder already holds an item with this name. Options: Replace it, Keep both (add a number), Fail the step. Default: Fail the step.

### Add Sheet

- **Workbook · Required**: The workbook: pick one from your OneDrive, or paste its OneDrive or SharePoint link.
- **Sheet Name · Optional**: The new sheet's name. Empty lets Excel name it (Sheet2, …).

### Get Many

- **Name Contains · Optional**: Only workbooks whose name holds this text. Empty lists every .xlsx workbook OneDrive's search finds.
- **Return All · Optional**: Read every workbook, page by page (at most 1000; past that the step fails rather than stop early). Off by default.
- **Limit · Optional**: How many workbooks to return (1–1000). Default: 50. Shows when **Return All** is off.

### Delete

- **Workbook · Required**: The workbook: pick one from your OneDrive, or paste its OneDrive or SharePoint link.

Source: https://docs.gorunner.io/apps/microsoft-excel-365
