elsa-workflows / elsa-workflows/elsa-extensions
Add Google Sheets Integration
- Dominant language
- C#
- Stars
- 49
- Forks
- 48
- Avg merge
- 21h 35m
- Merged PRs (30d)
- 20
Description
This issue tracks the implementation of an integration for **Google Sheets** in Elsa Workflows. The module should allow workflows to interact with Google Sheets, supporting spreadsheet management, data manipulation, and event monitoring.
## **Tasks**
- [ ] Create a new module: `Elsa.Integrations.GoogleSheets`
- [ ] Implement **Workflow Activities**:
- [ ] **AddConditionalFormatRule** - Creates a new conditional format rule at the given index, shifting subsequent rules.
- [ ] **AddRow** - Appends a new row to the bottom of the table.
- [ ] **AddSheet** - Adds a new sheet.
- [ ] **BulkAddRowsAdvanced** - Appends multiple rows to the bottom of the table.
- [ ] **BulkUpdateRowsAdvanced** - Updates multiple rows.
- [ ] **ClearValuesFromRange** - Clears values from a specified range in a spreadsheet.
- [ ] **ClearCell** - Clears a specific cell.
- [ ] **ClearRow** - Clears values from a specific row.
- [ ] **CopySheet** - Copies a sheet to another spreadsheet.
- [ ] **CreateSpreadsheet** - Creates a new spreadsheet.
- [ ] **CreateSpreadsheetFromTemplate** - Creates a new spreadsheet from a template sheet.
- [ ] **DeleteConditionalFormatRule** - Deletes a conditional format rule at a given index, shifting subsequent rules.
- [ ] **DeleteRow** - Deletes a specific row.
- [ ] **DeleteSheet** - Deletes a specific sheet.
- [ ] **GetRangeValues** - Retrieves a sheet’s content based on range values.
- [ ] **GetCell** - Retrieves the value of a specific cell.
- [ ] **ListSheets** - Retrieves a list of all sheets in a spreadsheet.
- [ ] **MakeAPICall** - Performs an arbitrary authorized API call.
- [ ] **PerformFunction** - Receives data from the MAKE_FUNCTION or INTEGROMAT functions used in a sheet (requires Sheets Add-On).
- [ ] **PerformFunctionResponder** - Returns processed data in response to the MAKE_FUNCTION or INTEGROMAT function (requires Sheets Add-On).
- [ ] **RenameSheet** - Renames a specific sheet.
- [ ] **SearchRows** - Returns rows matching the given criteria.
- [ ] **SearchRowsAdvanced** - Returns rows matching the given criteria but without returning a row number.
- [ ] **UpdateCell** - Updates a specific cell.
- [ ] **UpdateRow** - Updates a row.
- [ ] **WatchChanges** - Triggers when a cell is updated (requires Sheets Add-On, only watches changes made in Google Sheets app).
- [ ] **WatchNewRows** - Triggers when a new row is added.
- [ ] Add Unit Tests
- [ ] Add Documentation (`README.md`)
## **References**
- 📖 [Google Sheets API Docs](https://developers.google.com/sheets/api)
- 🛠️ [Google Sheets Developer Resources](https://developers.google.com/sheets)
## **Notes**
- This should follow the standard structure used for Elsa Integrations.
- The integration should support authentication via OAuth 2.0.
## **Contributor Guidelines**
If you're interested in working on this issue:
1. Comment below to claim it.
2. Follow the [CONTRIBUTING.md](https://github.com/elsa-workflows/elsa-integrations/blob/main/CONTRIBUTING.md) guide.
3. Submit a PR referencing this issue.
Contributor guide
Assessment
This issue has not been assessed yet.