Skip to content

Configuring providers

A provider is the account Expeed Relay uses to deliver a notification — your SMTP server, your SendGrid account, your Twilio number. Providers are configured per site, so two websites can use completely different sending accounts without touching each other.

A site with no provider cannot deliver email or WhatsApp. Submissions are still recorded, but every email and WhatsApp delivery job fails immediately with “No active provider config”. Slack and Teams webhooks are the exception — they carry their own URL and need no site provider, so they keep working. Configure at least one email provider before you hand the site to a developer.

Expeed Relay groups providers by channel — the medium the notification travels over. Each channel offers several providers. Configure one per channel per site — nothing stops you adding a second, but Expeed Relay then picks between them unpredictably, so a duplicate is a misconfiguration rather than a fallback.

Channel Providers available Credentials you will need
Email SMTP Host, Port, Username, Password
SendGrid API Key
Amazon SES Region, Access Key ID, Secret Access Key
Mailgun API Key, Domain
WhatsApp Twilio Account SID, Auth Token
Meta Cloud API Phone Number ID, Access Token
Gupshup API Key, App Name
  1. Open Sites, click the site you want, and switch to the Providers tab.
  2. Click Add provider. A four-step wizard opens: Channel, Provider, Credentials, Summary.
  3. Pick the Channel — Email or WhatsApp.
  4. Pick the Provider within that channel. The credential fields on the next step change to match what that provider needs.
  5. On the Credentials step, enter the From address — the sender your recipients will see, like noreply@example.com for email — then fill in the credential fields below it. Every field shown is required.
  6. Review the Summary and click Finish. The provider appears in the Providers table immediately.
Screenshot to come
The Add Provider wizard on the Provider step, showing the email provider options
  • SMTP — from whoever runs your mail server. You need the hostname, the port (usually 587 for STARTTLS), and a mailbox username and password. Ask for a dedicated sending account rather than reusing a person’s mailbox.
  • SendGrid — Settings → API Keys → Create API Key. Grant it Mail Send permission only.
  • Amazon SES — create an IAM user with ses:SendEmail permission and generate an access key pair. The Region must match the SES region where your sending domain is verified.
  • Mailgun — Settings → API Keys for the key, and use your verified sending domain.
  • Twilio — the Account SID and Auth Token are on your Twilio console dashboard.
  • Meta Cloud API — from the WhatsApp product setup in your Meta app: the Phone Number ID and a system-user access token.
  • Gupshup — API key and the app name from your Gupshup dashboard.

There is no test button. The fastest real check is an end-to-end one:

  1. Create a form with a single recipient pointing at your own address — see Forms & recipients.
  2. Submit that form once, either from the website or by asking the developer to fire a test submission.
  3. Open Jobs and filter to your site. Within seconds you should see a job move to delivered.
  4. If the job shows failed, open it — the failure reason is recorded on the job and usually names the exact provider error.

Reopen the Providers tab on the site. A provider cannot be edited or deactivated from the dashboard — the only action on the row is the delete button, and only admins see it. The Active column is a status badge, not a switch.

That makes rotating a credential a delete-then-re-add: remove the provider and immediately run the Add provider wizard again with the new secret. Deliveries attempted in the gap between the two will fail, so do it when the site is quiet, and have the new credential in hand before you delete the old one.

Because secrets are never shown, there is no way to confirm what the old value was — if you are unsure whether a rotation took effect, run the end-to-end check above.