Xgenious/ docs

Supported Providers

The Email Marketing plugin supports 10 popular email marketing providers.

Provider List

ProviderAuth MethodRequired Config
MailchimpAPI KeyAPI Key, List ID
SendGridAPI KeyAPI Key, List ID
Brevo (Sendinblue)API KeyAPI Key, List ID
ConvertKitAPI KeyAPI Key, Form ID
MailerLiteAPI KeyAPI Key, Group ID
Constant ContactAPI Key + Access TokenAPI Key, Access Token, List ID
GetResponseAPI KeyAPI Key, List ID
ActiveCampaignAPI URL + KeyAPI URL, API Key, List ID
AWeberAccess TokenAccess Token, Account ID, List ID
KlaviyoPrivate KeyPrivate Key, List ID

Provider Details

Mailchimp

  • Uses double opt-in (subscribers must confirm via email)
  • Extracts server prefix from API key automatically
  • API endpoint: https://{dc}.api.mailchimp.com/3.0/lists/{listId}/members/{md5(email)}

SendGrid

  • Uses PUT with list_ids array (upsert behavior)
  • API endpoint: https://api.sendgrid.com/v3/marketing/contacts

Brevo (Sendinblue)

  • Uses updateEnabled: true for upsert behavior
  • API endpoint: https://api.brevo.com/v3/contacts

ConvertKit (Kit)

  • Posts to form's subscriber endpoint
  • API endpoint: https://api.convertkit.com/v4/forms/{formId}/subscribers

MailerLite

  • Uses v2 API
  • Concatenates first and last name into name field
  • API endpoint: https://api.mailerlite.com/api/v2/groups/{groupId}/subscribers

Constant Contact

  • Requires both API key AND access token
  • Uses list_memberships array
  • API endpoint: https://api.cc.email/v3/contacts

GetResponse

  • Campaign-based (list ID = campaign ID)
  • API endpoint: https://api.getresponse.com/v3/contacts

ActiveCampaign

  • Two-step process: creates contact, then subscribes to list
  • Requires API URL in addition to API key
  • Most complex provider integration

AWeber

  • Uses account+list path structure
  • API endpoint: https://api.aweber.com/1.0/accounts/{accountId}/lists/{listId}/subscribers

Klaviyo

  • Two-step process: creates/updates profile, then adds to list
  • Uses JSON:API payload structure
  • Requires API revision header (2024-02-15)

Adding a New Provider

To add support for a new provider:

  1. Create a new class in plugins/email-marketing/src/Providers/
  2. Implement ProviderInterface with three methods:
    • name(): string
    • subscribe(array $data): array
    • isConfigured(): bool
  3. Register the provider in EmailMarketingPlugin.php

Last updated: September 2026

Still stuck?
Our support team is ready to help you get set up.
Get support