# Contact Form 7

Connect Contact Form 7 so its submissions become contacts or leads in FlyCRM.

This page covers what is specific to Contact Form 7. The shared steps (field mapping, duplicate
handling, and defaults) are in Capturing leads from forms.

## Before you start

Install and activate Contact Form 7. Until it is active, the FlyCRM integration stays turned off.

You also need at least one Contact Form 7 form that collects an email address. FlyCRM uses the
email to tell a new person from a returning one, so a form without an email field cannot feed the
CRM.

## Connect a form

1. Go to **FlyCRM > Integrations**.
2. Open **Contact Form 7** and turn it on.
3. Select **Add Feed**.
4. Under **Create As**, choose **Contact** or **Lead**.
5. Under **Form**, pick the Contact Form 7 form to listen to.
6. Map the fields (below), then set your defaults.
7. Select **Save Feed**.

FlyCRM reads every Contact Form 7 form on your site, so any of them can appear under **Form**.

## Name your form tags

Contact Form 7 shows each field by its form-tag name, not by a separate label. A tag written as
`[email* your-email]` appears as **your-email** in the mapping table.

Give your tags clear names before you map them. A form with `your-name`, `your-email`, and
`your-phone` is easy to read in the table. A form with `text-491` is not.

> **Note:** You can still map a tag named `text-491` to a CRM field. Clear names only make the
> mapping table easier to read.

## A worked example

A standard Contact Form 7 contact form has a name, an email, a phone, and a message. Map it like
this:

| CRM field | Form field |
| --------- | ---------- |
| Full Name | your-name  |
| Email     | your-email |
| Phone     | your-phone |

Leave the message field unmapped. It has no matching CRM field, so there is nothing to map it to.
To keep the message, turn on **Log form submission as activity** in the feed. FlyCRM then saves
the whole submission, message included, as a note on the record.

## Handle the name field

Most Contact Form 7 forms use one text field for the whole name. Map that field to **Full Name**.
FlyCRM splits it: the last word becomes the last name, and the rest becomes the first name.

If your form has two separate fields, map them to **First Name** and **Last Name** instead.

## Fields with more than one value

Map single-value fields, such as text, email, and phone. A checkbox group or a multi-select field
can hold several values at once, so it does not fit one CRM field.

To keep those answers, turn on **Log form submission as activity**. FlyCRM lists every submitted
field in the note, and joins multiple values with commas.

## When capture happens

FlyCRM captures the submission when someone sends the form, just before Contact Form 7 sends its
own notification email. FlyCRM also records the page the form was submitted on. For leads, it
reads any UTM parameters in that page's URL. You do not map these values.

## Test it

1. Open the form on your site and submit a test entry with a real email.
2. Go to **FlyCRM > Contacts** or **FlyCRM > Leads**, to match your feed.
3. Make sure that the record shows the mapped fields.

## Troubleshooting

1. If no record appears, make sure that the integration and the feed are both on.
2. If no record appears, make sure that a form tag is mapped to **Email**.
3. If you rename a form tag after making the feed, open the feed and map the field again.