elsa-workflows / elsa-workflows/elsa-extensions

Add Google Docs Integration

Open
#16 0 comments 0 reactions 0 assignees 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 **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

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.