Create or update Systeme.io contacts from Framer form submissions, with tags. Connect your native Framer forms to Systeme.io in 30 seconds with zero client-side API key leaks.
Systeme.io runs the funnels, email campaigns and courses of many creators and small businesses. When the landing page is built in Framer instead, the sign-ups still need to reach Systeme.io so the right automation starts. FramerSend creates a Systeme.io contact for every Framer form submission through the Systeme.io Public API.
Name, phone, company and the other answers go to the matching contact fields, and the tags you list are added to the contact, so a Systeme.io automation rule such as "tag added" can send the welcome email or enrol the contact in a course.
What gets created: A Systeme.io contact (POST /api/contacts). When the email already exists, the existing contact's fields are updated instead, and the tags you chose are added to it.
| Framer form field | Systeme.io |
|---|---|
| Email (email, E-mail, Correo…) | Contact emailRequired. Cleaned of spaces and common domain typos first. |
| First name / Last name, or a full Name | first_name, surnameA full name is split at the first space. |
| Phone, Company, City, State | phone_number, company_name, city, stateOnly when the account has these contact fields, which new accounts do. |
| Country | countryOnly two-letter ISO codes such as US or FR are sent; Systeme.io refuses country names. |
| Any other field | The contact field with the same slug or nameFor example a custom field with the slug job_title takes a Framer field called job_title or Job title. Answers with no matching field are not sent. |
| Tags (connection setting) | Contact tagsComma-separated names. A tag that doesn't exist yet is created. |
Create a Public API key
In Systeme.io, click your profile picture → Settings → Public API keys → Create, and copy the key.
Add custom fields for extra answers
For answers beyond name, phone and address, create contact fields in Systeme.io (Contacts → Fields) whose name or slug matches the Framer field name.
Connect Systeme.io in the plugin or dashboard
Search for Systeme.io in the FramerSend plugin inside Framer, or use Dashboard → 2. Connect CRM. Paste the key, optionally list tags such as Framer lead, Webinar, and click Test. Test reads your contact fields and creates nothing.
Paste the webhook URL into Framer
In Framer, select the form, open Form → Send to → Add… → Webhook, paste the FramerSend webhook URL (https://www.framersend.com/api/submit/ followed by your form ID) and publish the site.
Start an automation
In Systeme.io → Automations → Rules, use the trigger Tag added with one of your tags to send a welcome email or subscribe the contact to a campaign.
Systeme.io rejected the API key (HTTP 401) …
Cause: The key was deleted, mistyped or belongs to another account.
Fix: Create a new key in Settings → Public API keys and paste it into the connection.
Systeme.io: Email is required
Cause: The submission had no email field. No alert email is sent for this.
Fix: Add an email field to the Framer form, or map the email input to email in Dashboard → 3. Field Mapping.
Systeme.io (HTTP 422) while creating the contact: …
Cause: Systeme.io refused a value; the field and its reason follow, for example an invalid phone number.
Fix: Correct the field in the form or its mapping, then click Retry in Dashboard → 4. Logs.
Systeme.io rate limit reached … (HTTP 429)
Cause: Too many API requests at once; the limit is shared by all keys of the account.
Fix: Wait the number of seconds shown and click Retry in Dashboard → 4. Logs.
Update instead of a duplicate error. Systeme.io refuses a second contact with the same email. FramerSend finds the existing contact and updates its fields, so repeat sign-ups still get their tags.
Tags without setup. Tags are found by name and created when they don't exist, so a typo in the tag list creates a new tag rather than failing.
Full comparison: FramerSend vs Zapier
Zero code or third-party plugins required
Authenticate Systeme.io credentials in the FramerSend dashboard. We encrypt and store them securely.
Map your Framer form fields to Systeme.io properties using our visual dropdown UI.
Paste your webhook URL into your Framer form under Send to → Webhook and publish. Submissions flow automatically.
Every plan includes Systeme.io and 100+ other connectors. Pay monthly, yearly, or once. Try it free for 14 days, no card needed.
For one Framer site
For freelancers and small studios
For agencies with many client sites
14-day free trial, no card needed. Unlimited submissions while you test.
Start freeEncrypted API vault, real-time delivery, and unlimited submissions
Capture leads from your Framer site and auto-add them to targeted email campaigns.
Convert visitors into subscribers with a seamless form-to-list flow.
Automatically enroll new customers into welcome sequences.
The contact is updated: the fields from the form overwrite the old values and the tags are added. Nothing is removed.
Not directly. Add a tag and let a Systeme.io automation rule (trigger: tag added) subscribe the contact to the campaign or course.
No. FramerSend only creates or updates the contact and adds the tags. Any welcome or confirmation email comes from your own Systeme.io automation rules.
Only answers whose field name matches a contact field's slug or name are sent. Create a contact field with that name, or rename the Framer field.
It reads your account's contact fields with the key. Nothing is created; the tags are created on the first real submission.
Sign up for a FramerSend account (or log in). Go to Connections → Add Connection → Systeme.io and add your credentials. They are stored server-side and never exposed in your Framer site, which only gets a public form URL.
Yes, all API credentials are encrypted at rest. The client-side code in Framer only exposes a public Form ID, keeping your private keys entirely secure.
No. FramerSend provides unlimited form submissions across all license tiers so your live website forms never get blocked during high-traffic spikes.