# Contact forms

You can now connect your own webhook endpoint to receive real-time lead data from your interactive flipbooks. Just provide the URL of your webhook, and every time a lead submits information using a contact form inside one of your flipbooks, we’ll send the data payload to your endpoint in JSON format.

**Returned codes:** when the webhook returns non **2xx** codes, we will consider it a failed request and log the error message. Failed requests are found in the Webhook section of the Integrations page.

<figure><img src="https://2559292467-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M8VdQGj8xJ1LHi7wX86%2Fuploads%2F3rBcny15AgX8wGKR4J7k%2FScreenshot%202026-03-11%20at%2014.27.48.png?alt=media&#x26;token=39ecfbd5-7d91-49c2-b69d-96b9ed515f33" alt=""><figcaption></figcaption></figure>

#### Restrictions

* Only HTTPS endpoints are allowed
* Max timeout: 10 seconds (typical)
* Retry up to 5 times with exponential backoff
* Disabled automatically after 5 failures
* Webhook URL cannot require authentication
* One webhook per workspace/account

#### Important attributes

Contact form JSON

<table><thead><tr><th width="225.56640625">Attribute</th><th width="168.453125">Type</th><th>Description</th></tr></thead><tbody><tr><td>type</td><td>String</td><td>The type of the event. Make sure you always check the value before processing data you received. For contact forms, the value should be "contact" (other values may be supported in the future).</td></tr><tr><td>timestamp</td><td>Numeric</td><td>The timestamp value when the contact form data was received.</td></tr><tr><td>datetime</td><td>Datetime</td><td>The UTC date and time the contact form data was received by Flipsnack. </td></tr><tr><td>flipbook_hash</td><td>String</td><td>The hash of the flipbook that sent the contact form data. This hash can be used to identify the target flipbook using our API.</td></tr><tr><td>flipbook_title</td><td>String</td><td>The title of the flipbook that sent the contact form. You can use this information to easily identify which flipbook is the source for the contact form data.</td></tr><tr><td>data</td><td>Object</td><td><p>The data related to the contact form. It contains the information the lead has entered in the contact form. Each data entered by the lead has a field name (string) property and a field value (string).</p><p><br>Example:</p><pre><code>{
    "Full name": "John Smith",
    "Email": "johnsmith@mydomain.com"
}
</code></pre></td></tr></tbody></table>

#### **Form data**

Please note that the field names in the JSON data will be the ones you specified in the contact form setup as field names for the form. Also, your form may contain less fields or fields with different names.

<figure><img src="https://2559292467-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M8VdQGj8xJ1LHi7wX86%2Fuploads%2F73V4YIBBe3NHLE6EQMEJ%2FScreenshot%202026-03-11%20at%2015.55.43.png?alt=media&#x26;token=982e8bdc-ffc3-4b24-8416-ab718eea0f2f" alt=""><figcaption></figcaption></figure>

<table><thead><tr><th width="226.35546875">Field name</th><th width="168.26953125">Type</th><th>Description</th></tr></thead><tbody><tr><td>Form name</td><td>String</td><td>The name of the form, as specified in the Contact form setup. This field is always set.</td></tr><tr><td>Email address</td><td>String</td><td>The email of the lead.</td></tr><tr><td>First name</td><td>String</td><td>The first name of the lead.</td></tr><tr><td>Last name</td><td>String</td><td>The last name of the lead.</td></tr><tr><td>Full name</td><td>String</td><td>The full name of the lead.</td></tr><tr><td>Phone number</td><td>String</td><td>The phone number of the lead.</td></tr><tr><td>Country/region</td><td>String</td><td>The country of the lead.</td></tr><tr><td>Website</td><td>String</td><td>The website of the lead.</td></tr><tr><td>Dropdown field</td><td>String</td><td>The value of the option selected in the drop down field.</td></tr><tr><td>Paragraph</td><td>String</td><td>The long form text entered by the lead in the paragraph field.</td></tr><tr><td>Custom input</td><td>String</td><td>The custom text entered by the lead in the custom input field.</td></tr></tbody></table>

Below is an example of the JSON structure sent for a sample custom form with default field names:

```json
{
  "type": "contact",
  "timestamp": 1773232688,
  "datetime": "2026-03-11 12:38:08",
  "flipbook_hash": "dzp8uj9xu3",
  "flipbook_title": "Gardening in April",
  "data": {
    "Form name": "April Brochure Contact Form",
    "Email address": "john.smith@mywebsite.com",
    "First name": "John",
    "Last name": "Smith",
    "Full name": "John Smith",
    "Phone number": "-",
    "Country/region": "UK",
    "Website": "https://www.mywebsite.com",
    "Dropdown field": "Option 2",
    "Paragraph": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam eget purus venenatis, commodo nisl in, auctor magna. Phasellus ut ultricies neque, sit amet luctus felis. In et pellentesque diam. In euismod mauris a justo auctor dapibus.",
    "Custom input": "This is information entered in the custom input."
  }
}
```
