Skip to main content
Wildo.ai Coming soon

Email

Use an existing email integration

Wildo supplies adapters for established email providers, so selecting one does not require rebuilding message formatting, authentication and response handling.

A shared email request can be translated by several named provider adapters.

Use an existing email integration

Wildo supplies adapters for established email providers, so selecting one does not require rebuilding message formatting, authentication and response handling.

Each adapter translates the shared email request into the provider’s own contract.

Example — Move delivery to Brevo

Keep the account templates and operation notifications, then configure Brevo as the transactional provider with its deployment credential.

For engineers

Make Brevo available and select it

Application example adapted from the existing backend-scope pattern and Brevo’s module contract. Merge this email section into wildo.saas.config.ts; keep the application’s other capabilities and providers.

import { EngineCapability } from '@wildo-ai/saas-models';
import { defineSaaSProviders } from '@wildo-ai/platform-config-lib';

const emailProviders = defineSaaSProviders({
  scopes: {
    backend: {
      providers: {
        brevo: {
          engineCapabilities: [EngineCapability.EMAIL_TRANSACTIONAL],
          providerCapabilities: ['EMAIL_TRANSACTIONAL'],
          protocols: ['EMAIL_PROVIDER'],
        },
      },
      selection: {
        [EngineCapability.EMAIL_TRANSACTIONAL]: { primary: 'brevo' },
      },
    },
  },
});

Assign emailProviders to the existing config’s providers property and enable EMAIL_TRANSACTIONAL in its engineCapabilities. In backend configuration, set email.from. Put BREVO_API_KEY in the target environment’s secret providerEnv, not in this provider declaration. Regenerate with wildo config sync --env <environment> from the app root, then inspect the backend provider runtime and emitted environment.

Supply the inputs the adapter actually reads

These are the engine adapters’ current configuration contracts, not a comparison of vendor plans.

Provider referenceCredential environment keySetup detail that matters
resendRESEND_API_KEYTransactional provider selection and a valid sender
postmarkPOSTMARK_SERVER_TOKENUses a server token, not an account-management token
sendgridSENDGRID_API_KEYTransactional and marketing selections are separate
mailgunMAILGUN_API_KEYAlso requires the sending domain for its /{domain}/messages endpoint
brevoBREVO_API_KEYThe adapter supplies the API-key authentication header
mailchimpMANDRILL_API_KEYTransactional delivery uses Mandrill’s credential identity

For Mailgun, the email resolver reads the selected provider configuration’s domain, or MAILGUN_DOMAIN from its environment. This must be the sending domain, not merely the application’s website host. It refuses to send when the required endpoint domain is absent.

Verify the handoff, not just the configuration

Use a registered template and inspect EmailSendResult: outcome, submission identity and provider receipts. The normal sender uses the same template/context API across adapters, while each adapter supplies encoding, authentication and result classification. Attachment ceilings and idempotency support can differ; changing a provider does not erase those differences.

An accepted submission confirms the provider handoff. It does not establish inbox placement. Marketing capability support is a separate routing decision, not campaign orchestration.

Building a B2B product or an internal tool?

Wildo is not self-service yet. Tell us what you have in mind and we will say plainly whether it fits, and what happens next.