AFI AFI

Keila

Estimated reading: 2 minutes Updated August 1, 2026

Keila is an open-source email newsletter platform (self-hosted or cloud-hosted) built as a privacy-friendly alternative to SaaS email tools. Advanced Form Integration sends form submissions to Keila as new contacts.

What you’ll need

  • A Keila instance (self-hosted or cloud).
  • A Keila Personal Access Token (Keila → Settings → API Access → Personal Access Tokens).
  • The Advanced Form Integration plugin installed and activated.

Get your Keila API key

  1. Log in to your Keila instance.
  2. Navigate to Settings → API Access → Personal Access Tokens.
  3. Generate a new token or copy an existing one.

Connect Keila to AFI

  1. In WordPress, go to AFI → Settings.
  2. Enable Keila and click Save Changes.
  3. Open the Keila tab.
  4. Click Add New Account, give the credential a title, paste the API Key, and click Save Changes.

You can save credentials for multiple Keila instances (e.g., self-hosted + cloud) and pick which one each integration uses.

Create the integration

  1. Go to AFI → Add New.
  2. Configure the trigger.
  3. In Action → Platform, select Keila.
  4. In Task, choose Add Contact.
  5. Pick the saved Keila account.
  6. Map the form fields:
  • Email (required).
  • First Name, Last Name, City.
  • External ID for cross-system identifier mapping.
  1. Optional: configure Conditional Logic.
  2. Click Save Integration.

Screenshot: AFI field-mapping screen with Keila contact fields visible

Tasks supported

Add Contact

Creates a new contact in your Keila instance. The contact is automatically subscribed to your default newsletter list once created.

Conditional logic example

Add to Keila only when the form’s region field is “EU”. Keila’s privacy-friendly approach is well-suited to EU compliance flows. Non-EU submissions go to a different newsletter platform via a separate integration.

Troubleshooting

Integration doesn’t fire

Open AFI → Log and find the most recent entry. The log shows the request payload sent to Keila and the response received, usually pointing straight at the cause.

Self-hosted Keila not reachable

Self-hosted Keila must be publicly accessible from your WordPress server. If Keila sits behind a VPN or IP allowlist, whitelist your WordPress server IP at Keila’s web-server level.

Email field empty

Keila requires email as the canonical identifier. If the form doesn’t include email or AFI didn’t map it, the API rejects the request.

Related docs