Skip to main content

POST Forwarding IntegrationsPro

Freeform includes a POST Forwarding feature, which allows your forms to automatically submit an extra POST to pass off submission data to an external API URL upon successful submit and validation of a form. This option is available for simpler and/or limited integrations as an alternative to our traditional Email Marketing and CRM API integrations.

Overview

In order to use this feature, you'll need to be using the Freeform Pro edition, and be knowledgeable about the service or API you're passing the data off to (whether it's third party service or your own custom one), and how the data is handled on that end. It's possible that some services may require you take additional steps like including JS, setting cookies, etc inside your site templates. For that matter, we cannot provide any assistance with setting this up, aside from the basics.

POST Forwarding sends data behind the scenes. If it is important for your project and flow that the 3rd party URL be able to read a user's cookies, this method will not work.

Settings

The following settings are available to you for usage of this feature:

  • POST Forwarding URL
    • Provide the custom URL here to have the POST data of this form submitted to an external API.
  • POST Forwarding Error Trigger
    • Provide a keyword or phrase Freeform should check for in the output of the external POST URL to know if and when there’s an error to log, e.g. ‘error’ or ‘an error occurred’.

In addition to the data available for all fields of the form, the POST Forwarding feature will also include:

  • CSRF token
  • Submission ID (submission-id)
  • Submission Token (submission-token)
  • Submission Title (submission-title)
  • Submission IP Address (submission-ip)

Override at Template Level

If you need to override this feature at template level for the form, use the following parameter for the Form query.

postForwarding: {
url: "https://somesite.com/stuff",
triggerPhrase: "success"
}

Examples

There is 1 implementation example below: