> ## Documentation Index
> Fetch the complete documentation index at: https://loops.so/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Framer integration

> Enable signups from your Framer site using an in-built or custom Loops component.

Collect new subscribers from your Framer site. There are a few ways to set this up.

1. [Framer Form component](#framer-form-component)\
   This uses the native Form component in Framer and gives good flexibility for extra form fields.
2. [Framer Loops component](#framer-loops-component)\
   This simplest method. A simple drop-in form with an email address input.
3. [Custom component with code](#advanced-integration)\
   The most flexible but complex option, using custom code.

<Tip>
  Our form submission endpoint has rate limiting, so you will see an error in
  testing if you submit more than once per minute or submit the same email
  twice.
</Tip>

## Framer Form component

Use [Framer Forms](https://www.framer.com/features/forms/) to easily create a form on your site.

### Insert the Form Component

From **Insert -> Forms** drag the **Form builder** component into your page. This will add an example form.

<img src="https://mintcdn.com/loops/OG31ikb--92jQDlq/images/framer-form-component.png?fit=max&auto=format&n=OG31ikb--92jQDlq&q=85&s=d0426c13908ad170efc970c2ce94017d" alt="Framer Form component" width="1520" height="1192" data-path="images/framer-form-component.png" />

### Edit the form fields

Edit the fields in the form to match the data you want to collect from new subscribers.

An email field is required. Make sure to toggle the **Required** option to **Yes** for your email field.

You need to edit the **Name** value of each field to match the [contact properties' "API name"](/contacts/properties) in Loops.

For example, the **Name** value must be "email" for the email address field.

<img src="https://mintcdn.com/loops/OG31ikb--92jQDlq/images/framer-email-field.png?fit=max&auto=format&n=OG31ikb--92jQDlq&q=85&s=35e2be920b979df45dd80139b126ee9d" alt="Email form field" width="2280" height="1356" data-path="images/framer-email-field.png" />

You can add hidden fields to populate data like `mailingLists`, `userGroup` and `source` in Loops yet ensure they don't show up in the form.

You may have to click the `+` button to show the **Value** and **Hidden** options.

<Tip>
  To add subscribers to specific [mailing lists](/contacts/mailing-lists), add a
  field with **Name** `mailingLists`. The **Value** can be a single mailing list
  ID or a comma-separated list of IDs.
</Tip>

<Warning>
  Mailing lists need to be marked **Public** in your [Lists
  settings](https://app.loops.so/settings?page=lists) in order for them to work
  in forms.
</Warning>

<img src="https://mintcdn.com/loops/OG31ikb--92jQDlq/images/framer-form-hidden.png?fit=max&auto=format&n=OG31ikb--92jQDlq&q=85&s=48c9c39a6c3501490a28ead141aa48c8" alt="Hidden form field" width="2280" height="1356" data-path="images/framer-form-hidden.png" />

### Configure the form

The final step is to set the endpoint to your Loops form URL.

1. Go to the [Forms page](https://app.loops.so/forms) in your Loops account.
2. Click on the **Settings** tab.
3. Copy the **Form Endpoint**.
   <img src="https://mintcdn.com/loops/OG31ikb--92jQDlq/images/form-endpoint.png?fit=max&auto=format&n=OG31ikb--92jQDlq&q=85&s=c44978586df98ffbb59edc5208d5fc39" alt="Form endpoint" width="2280" height="1389" data-path="images/form-endpoint.png" />
4. Back in Framer, select your form. In the **Send To** option, select "Webhook". Then paste the URL from Loops into the **API** field.
   <img src="https://mintcdn.com/loops/OG31ikb--92jQDlq/images/framer-form-webhook.png?fit=max&auto=format&n=OG31ikb--92jQDlq&q=85&s=6cb4ce32e76b6d971829df8fde014bcc" alt="Framer form webhook" width="2280" height="1356" data-path="images/framer-form-webhook.png" />

Now your form is all set up and can start receiving new subscribers.

### Set up a confirmation message

By default a "Thank you" message is shown inside the form button when the form is submitted successfully.

You can opt to use a redirect instead. You can add a confirmation message on another web page and use the **Redirect** option in the form settings.

## Framer Loops component

Framer has a built-in Loops option for creating simple signup forms with an email address field.

### Insert the Loops Component

From **Insert -> Forms** drag the **Loops** component into your page. This will add an example form.

<img src="https://mintcdn.com/loops/OG31ikb--92jQDlq/images/framer-loops-component.png?fit=max&auto=format&n=OG31ikb--92jQDlq&q=85&s=8806edaec1877f6bbf9cd73f337d58fb" alt="Framer Loops component" width="1520" height="1247" data-path="images/framer-loops-component.png" />

### Configure the form

Next, you need to add your Loops form ID to the **ID** field.

1. Go to the [Forms page](https://app.loops.so/forms) in your Loops account.
2. Click on the **Settings** tab.
3. Copy the **Form ID**.
   <img src="https://mintcdn.com/loops/OG31ikb--92jQDlq/images/form-id.png?fit=max&auto=format&n=OG31ikb--92jQDlq&q=85&s=0caa3484e77ee805990c12cdf7b62ae9" alt="Form ID" width="2280" height="1389" data-path="images/form-id.png" />
4. Paste this ID into the **ID** field in the Framer component.
   <img src="https://mintcdn.com/loops/OG31ikb--92jQDlq/images/framer-property-panel.png?fit=max&auto=format&n=OG31ikb--92jQDlq&q=85&s=0ee89de4b2c208ad4a2eb6ee2b65e8b2" alt="Loops form ID" width="2280" height="1688" data-path="images/framer-property-panel.png" />
5. Framer offers two extra fields in the component:
   * **User Group** populates the contact's `userGroup` value in Loops.
   * **Mailing list** can be used to subscribe contacts to your [mailing lists](/contacts/mailing-lists). Add here one or more mailing list IDs separated by commas.
     <Warning>
       Mailing lists need to be marked **Public** in your [Lists
       settings](https://app.loops.so/settings?page=lists) in order for them to
       work in forms.
     </Warning>

### Set up a confirmation message

Make sure to also set up a confirmation message by clicking on the **Success** dropdown.

You can choose to show a message in an overlay with the "Show Overlay" option or redirect the user to another web page with the "Open Link" option.

To add an overlay message, click on the **Overlays** section header in the right-hand panel, choose between "Relative" and "Fixed" and make sure the **Show On** selection is "Submit".

## Advanced integration

This option adds a custom component into your Framer site [using form code](/forms/custom-form) generated by Loops

### Generate the form code

1. Go to the [Forms page](https://app.loops.so/forms) in your Loops account.
2. Click on the **Settings** tab.
3. Select “JSX” from the **Generate Form Code** dropdown (1), then copy the code snippet (2).

   <img src="https://mintcdn.com/loops/OG31ikb--92jQDlq/images/jsx-form.png?fit=max&auto=format&n=OG31ikb--92jQDlq&q=85&s=e220637047302e7c59969a531b231bff" alt="Generating JSX form code in Loops" width="2280" height="1440" data-path="images/jsx-form.png" />

### Embed the component in Framer

1. Create a new component. Toggle over to **Assets** in the Framer side panel then click the `+` button.

   <img src="https://mintcdn.com/loops/OG31ikb--92jQDlq/images/framer-1.png?fit=max&auto=format&n=OG31ikb--92jQDlq&q=85&s=dd174a81bd62bfbf14e0f9edd0221b16" alt="Creating a new Framer component from the Assets panel" width="1520" height="607" data-path="images/framer-1.png" />

2. Give your New Component a title.

   <img src="https://mintcdn.com/loops/OG31ikb--92jQDlq/images/framer-2.png?fit=max&auto=format&n=OG31ikb--92jQDlq&q=85&s=577c8d23d7013beb94d27eec20ccd0ef" alt="Naming the new component in Framer" width="1520" height="808" data-path="images/framer-2.png" />

3. Finally, paste the code copied in from Loops into the code editor. You should see the Preview on the right fill in with a preview of your component.

   <img src="https://mintcdn.com/loops/OG31ikb--92jQDlq/images/framer-3.png?fit=max&auto=format&n=OG31ikb--92jQDlq&q=85&s=e16eb14c62eb830c95fe0deecf3708e7" alt="Pasting Loops form code into the Framer code editor" width="1520" height="939" data-path="images/framer-3.png" />

4. Drag and drop your new asset anywhere on your page to use it :)
