elsa-workflows / elsa-workflows/elsa-extensions

Add WaveApps Integration

Open
#19 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 **WaveApps** in Elsa Workflows. The module should allow workflows to interact with WaveApps, supporting invoicing, customer management, transactions, and financial reporting.

## **Tasks**
- [ ] Create a new module: `Elsa.Integrations.WaveApps`
- [ ] Implement **Workflow Activities**:
- [ ] **ApproveInvoice** - Approves an invoice by ID.
- [ ] **CreateCustomer** - Creates a new customer.
- [ ] **CreateProductOrService** - Creates a new product or service.
- [ ] **CreateSalesTax** - Creates a new sales tax.
- [ ] **CreateTransaction** - Creates a new transaction.
- [ ] **CreateAccount** - Creates a new account.
- [ ] **CreateIncomeOrExpense** - Creates an income or expense entry.
- [ ] **CreateInvoice** - Creates an invoice.
- [ ] **DeleteCustomer** - Deletes a customer.
- [ ] **ExecuteGraphQLQuery** - Performs an arbitrary authorized GraphQL query.
- [ ] **GetCustomer** - Retrieves details about a specific customer by ID.
- [ ] **GetCustomerByEmail** - Retrieves a customer by email.
- [ ] **ListCustomers** - Retrieves a list of customers from the Wave account.
- [ ] **ListInvoices** - Retrieves a list of invoices.
- [ ] **ListProducts** - Retrieves a list of products.
- [ ] **SendInvoice** - Sends an invoice.
- [ ] **UpdateCustomer** - Updates an existing customer.
- [ ] **UpdateProductOrService** - Updates a product or service.
- [ ] **WatchInvoices** - Triggers when new invoices are added since the last check.

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

## **References**
- 📖 [WaveApps API Docs](https://developer.waveapps.com/hc/en-us)
- 🛠️ [WaveApps Developer Resources](https://developer.waveapps.com/)
- [WaveApps.GraphQLBuilder](https://www.nuget.org/packages/WaveApps.GraphQLBuilder)

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