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

To use this feature, you must be using the Freeform Pro edition and have a good understanding of the service or API to which you are sending data—whether it's a third-party service or your own custom solution—and how that data is processed on their end. Some services may require additional steps, such as including JavaScript or setting cookies within your site templates. Please note that we can only provide assistance with the basic setup; we cannot help with the more detailed configurations.

POST forwarding transmits data in the background. If it is crucial for your project and workflow that the third-party URL be able to access 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: