elsa-workflows / elsa-workflows/elsa-extensions

Add Mailchimp Integration

Open
#10 0 comments 1 reaction 1 assignee Assigned to @Copilot 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 **Mailchimp** in Elsa Workflows. The module should allow workflows to interact with Mailchimp, supporting campaign management, list handling, segmentation, and event monitoring.

## **Tasks**
- [ ] Create a new module: `Elsa.Integrations.Mailchimp`
- [ ] Implement **Workflow Activities**:
- [ ] **AddMemberToSegment** - Adds a new member to a static segment.
- [ ] **AddEvent** - Adds a new event to the member.
- [ ] **AddRemoveMemberTags** - Adds or removes tags from a list member.
- [ ] **AddUpdateListMember** - Adds or updates a list member.
- [ ] **AddUpdateSubscriber** - Adds an email address to a subscriber list.
- [ ] **CreateCampaign** - Creates a new campaign.
- [ ] **CreateList** - Creates a new list.
- [ ] **CreateMergeField** - Creates a new merge field.
- [ ] **CreateOrder** - Creates a new order.
- [ ] **DeleteCampaign** - Deletes a campaign.
- [ ] **DeleteList** - Deletes a list.
- [ ] **DeleteMergeField** - Deletes an existing merge field.
- [ ] **DeleteSubscriber** - Archives or permanently deletes a subscriber.
- [ ] **EditCampaignTemplateContent** - Edits a defined content area of a custom HTML template.
- [ ] **EditSubscriber** - Edits an existing subscriber.
- [ ] **GetCampaign** - Retrieves metadata of a specified campaign.
- [ ] **GetCampaignReport** - Retrieves a campaign report.
- [ ] **GetClickReport** - Retrieves an existing click report.
- [ ] **GetList** - Retrieves metadata of a specified list.
- [ ] **GetMergeField** - Retrieves an existing merge field.
- [ ] **GetSubscriber** - Retrieves metadata of a subscriber by email.
- [ ] **ListCampaignOpenDetails** - Retrieves all campaign open details.
- [ ] **ListClickReports** - Retrieves all click reports.
- [ ] **ListListMembersActivities** - Retrieves the last 50 events of a member's activity on a specific list.
- [ ] **ListListsActivities** - Retrieves up to the previous 180 days of daily aggregated activity stats for a list.
- [ ] **ListMemberTags** - Retrieves a list of all member tags.
- [ ] **ListSegmentMembers** - Retrieves a list of all segment members.
- [ ] **MakeAPICall** - Performs an arbitrary authorized API call.
- [ ] **PerformCampaignAction** - Performs a campaign action.
- [ ] **RemoveMemberFromSegment** - Removes a member from the specified static segment.
- [ ] **SearchCampaigns** - Searches for campaigns.
- [ ] **SearchLists** - Searches for lists.
- [ ] **SearchMergeFields** - Searches for merge fields or lists them all.
- [ ] **SearchSubscribers** - Searches for subscribers.
- [ ] **UpdateCampaign** - Updates an existing campaign.
- [ ] **UpdateList** - Updates an existing list.
- [ ] **UpdateMergeField** - Updates an existing merge field.
- [ ] **WatchCampaigns** - Triggers when a new campaign is created or sent.
- [ ] **WatchFiles** - Triggers when a new file is added.
- [ ] **WatchListEvents** - Triggers when one of the defined events occurs on a list.
- [ ] **WatchListSegments** - Triggers when a segment is created or updated.
- [ ] **WatchLists** - Triggers when a new list is created.
- [ ] **WatchSubscribers** - Triggers when a new subscriber joins a list or is updated.
- [ ] **WatchUnsubscribes** - Triggers when a subscriber unsubscribes from a campaign.

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

## **References**
- 📖 [Mailchimp API Docs](https://mailchimp.com/developer/)
- 🛠️ [Mailchimp Developer Resources](https://mailchimp.com/developer/guides/)

## **Notes**
- This should follow the standard structure used for Elsa Integrations.
- The integration should support authentication via OAuth 2.0 or API Keys.
- Ensure event monitoring works efficiently for large lists and campaigns.

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