elsa-workflows / elsa-workflows/elsa-extensions

Azure Functions Integration

Open
#39 6 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 Azure Functions in Elsa Workflows. The module should allow workflows to interact with Azure Functions, supporting triggering of Azure Functions

### Tasks

- [ ] Create a new module: `Elsa.Integrations.AzureFunctions`
- [ ] Implement **Function Services:**
- [ ] Trigger Function _(this is effectively just an HTTP action)_
- [ ] Authorisation/Authentication service
_(could be a simple function code, or AAD/Entra authentication, though the latter is going to be a bit more 'fun')_
- [ ] Service for extracting Function body schema from Swagger/OpenAPI endpoint (Optional)
- [ ] Implement custom **Activity Provider**
This will generate the Activity Descriptions from config/env
- [ ] Implement **AI Tools** (Optional)
- [ ] Tool for AI agents to invoke Azure Functions actions
- [ ] Add Unit Tests
- [ ] Add Documentation (`README.md`)

### References

- 📖 [Azure Functions Overview](https://learn.microsoft.com/en-us/azure/azure-functions/functions-overview)
- 🛠️ [Azure Identity SDK (for AAD/Entra authentication)](https://learn.microsoft.com/en-us/dotnet/api/overview/azure/identity-readme?view=azure-dotnet)

### Notes

- This should follow the standard structure used for Elsa Integrations.
- The integration should support function code authorisation and (optionally) managed identity authentication for Azure.

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