elsa-workflows / elsa-workflows/elsa-extensions

Add Twilio Integration

Open
#5 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 **Twilio** in Elsa Workflows. The module should allow workflows to interact with Twilio, supporting messaging, calls, media downloads, and event monitoring.

## **Tasks**
- [ ] Create a new module: `Elsa.Integrations.Twilio`
- [ ] Implement **Workflow Activities**:
- [ ] **CreateCall** - Calls a specified phone number and executes specified instructions.
- [ ] **CreateMessage** - Sends a message.
- [ ] **CreateExecution** - Creates a new execution.
- [ ] **DeleteCall** - Deletes a call record from your account.
- [ ] **DeleteMessage** - Deletes a message record from your account.
- [ ] **DeleteExecution** - Deletes a selected execution.
- [ ] **DownloadMediaResource** - Downloads a media resource from a message.
- [ ] **DownloadRecordingMedia** - Downloads a recording media file.
- [ ] **GetCall** - Retrieves call resource details of an individual call.
- [ ] **GetMessage** - Retrieves details of a message.
- [ ] **GetExecution** - Retrieves details of a selected execution.
- [ ] **ListCalls** - Retrieves a list of calls associated with your account.
- [ ] **ListMessageMedia** - Retrieves a list of media associated with a message.
- [ ] **ListMessages** - Retrieves a list of messages associated with your account.
- [ ] **ListRecordingTranscriptions** - Retrieves a set of transcriptions available for a recording.
- [ ] **MakeAPICall** - Performs an arbitrary authorized API call.
- [ ] **MakeAPICallForStudio** - Performs an arbitrary authorized API call for Twilio Studio.
- [ ] **NewMessageStatusEvent** - Webhook for status callback field in a message action. Triggers for outgoing messages.
- [ ] **UpdateExecution** - Ends an active execution, stopping further processing of the flow.
- [ ] **WatchAlerts** - Triggers when a new alert (notification) is issued.
- [ ] **WatchCalls** - Triggers when a new call is created.
- [ ] **WatchMessages** - Triggers when a new message is created.
- [ ] **WatchRecordings** - Triggers when a new recording is created.
- [ ] **WatchTranscriptions** - Triggers when a new transcription is created.

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

## **References**
- 📖 [Twilio API Docs](https://www.twilio.com/docs/usage/api)
- 🛠️ [Twilio .NET SDK](https://www.nuget.org/packages/Twilio/)

## **Notes**
- This should follow the standard structure used for Elsa Integrations.
- The integration should support authentication via API Keys or OAuth 2.0.
- Ensure proper handling of real-time event monitoring for call and message tracking.

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