elsa-workflows / elsa-workflows/elsa-extensions

Add OneDrive Integration

Open
#27 0 comments 1 reaction 1 assignee Assigned to @Copilot View on GitHub
triaged
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 **OneDrive** in Elsa Workflows. The module should allow workflows to interact with OneDrive, supporting file and folder operations.

## **Tasks**
- [ ] Create a new module: `Elsa.Integrations.OneDrive`
- [ ] Implement **Workflow Activities**:
- [ ] **CopyFile** - Copies a file into a new folder location.
- [ ] **CreateFolder** - Creates a new folder.
- [ ] **DeleteFileOrFolder** - Deletes a file or folder.
- [ ] **DownloadFile** - Downloads a specified file.
- [ ] **GetFile** - Gets the metadata of a specified file.
- [ ] **GetShareLink** - Gets a new share link for a specified file.
- [ ] **ListDrives** - Lists drives of a specific site.
- [ ] **MakeAPICall** - Performs an arbitrary authorized API call.
- [ ] **MoveFileOrFolder** - Moves a file or folder to a new folder location.
- [ ] **RenameFileOrFolder** - Renames a file or folder.
- [ ] **SearchFilesOrFolders** - Searches for files or folders.
- [ ] **SearchSites** - Searches for sites by a search parameter.
- [ ] **SendSharingInvitation** - Sends a sharing invitation for a file or folder, providing permissions and optionally sending an email with a sharing link.
- [ ] **UploadFile** - Uploads a file.
- [ ] **UploadFileByURL** - Uploads a file by URL address (Only available for OneDrive Personal).
- [ ] **WatchFiles** - Triggers when a file is created or updated in your drive.
- [ ] **WatchFilesOrFolders** - Triggers when a file or folder is created or updated.

- [ ] Add Unit Tests
- [ ] Add Documentation (`README.md`)

## **References**
- 📖 [Microsoft Graph API Docs](https://learn.microsoft.com/en-us/graph/api/overview)
- 🛠️ [OneDrive API](https://learn.microsoft.com/en-us/onedrive/developer/)

## **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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.