elsa-workflows / elsa-workflows/elsa-extensions
Add Google Docs 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 Docs** in Elsa Workflows. The module should allow workflows to interact with Google Docs, supporting document creation, editing, management, and monitoring.
## **Tasks**
- [ ] Create a new module: `Elsa.Integrations.GoogleDocs`
- [ ] Implement **Workflow Activities**:
- [ ] **CreateDocument** - Creates a new Google document by adding HTML-formatted content.
- [ ] **CreateDocumentFromTemplate** - Creates a copy of an existing template document and replaces tags (e.g., `{{!notfound:name}}`, `{{!notfound:email}}`). Also allows replacing images using URLs.
- [ ] **DeleteDocument** - Deletes a document.
- [ ] **DownloadDocument** - Downloads a document in a specified format.
- [ ] **GetContentOfDocument** - Retrieves the content of a document.
- [ ] **InsertParagraphToDocument** - Inserts or appends a new paragraph to an existing document.
- [ ] **InsertImageToDocument** - Inserts a new image into a document using a URL, optionally resizing it while maintaining the original aspect ratio.
- [ ] **ListDocuments** - Retrieves a list of documents.
- [ ] **MakeAllLinksClickable** - Makes all links in a document clickable.
- [ ] **MakeAPICall** - Performs an arbitrary authorized API call.
- [ ] **ReplaceTextInDocument** - Replaces an old text string with a new text string in a document.
- [ ] **ReplaceImageInDocument** - Replaces an existing image in a document with a new image from a URL, scaling or cropping it as needed to fit the original image's bounds.
- [ ] **WatchDocuments** - Triggers when a new document is created or modified in a specific folder.
- [ ] Add Unit Tests
- [ ] Add Documentation (`README.md`)
## **References**
- 📖 [Google Docs API Docs](https://developers.google.com/docs/api)
- 🛠️ [Google Docs Developer Resources](https://developers.google.com/docs)
## **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.