How to Setup a Webhook with JotForm
What is a Webhook?
A webhook is a technique used to send HTTP POST notifications to a URL. They can be used to connect apps together or just send data - read more.
- Open your form in the form builder and click on the settings tab, go to the integrations section and search WebHooks or filer the result in the drop down with "Other".
- Add your WebHook URL.
To inspect or debug a webhook request, you can use RequestBin. Simply create a Request Bin and set the endpoint URL in your form's webhook (as seen in the screenshot on step 2). Make an actual submission to your form and then check the collected data on Request Bin.
33.9 kB

Example:


Here's an example PHP script that you may want to try on Webhook. This is a simple mailer script that will send the form submissions data to your email through Webhook.
<?php
//convert json data to php
$result = $_REQUEST['rawRequest'];
$obj = json_decode($result, true);
//Change with your emails
$emailfrom = "john@example.com"; //Sender or From Email
$emailto = "paul@example.com"; //Recipient, you can predefine or use a field value e.g. $obj['q4_email']
$subject = "You've got a new submission"; //Email Subject Title
//Do not edit
$id = $_POST['submissionID']; //Get submission ID
$submissionURL = 'https://www.jotform.com/submission/'.$id; //Construct submission URL
$headers = "From: " . $emailfrom . "\r\n";
$headers .= "Reply-To: ". $emailfrom . "\r\n"; //Optional
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: text/html; charset=utf-8\r\n";
//New method, get data from the submissions page
$html = new DOMDocument;
$html->loadHTML(file_get_contents($submissionURL));
$body = $html->getElementsByTagName('body')->item(0);
//get html code after the body tag
foreach ($body->childNodes as $child){
$html->appendChild($html->importNode($child, true));
}
//make the table responsive so it appears nicely on email
$body = $html->getElementsByTagName('table');
foreach ($body as $width) {
$width->setAttribute('width', '100%');
}
$body = $html->saveHTML();
//Send email
@mail($emailto, $subject, $body, $headers);
?>
Code: https://pastebin.com/raw/AmG72bve.
Make sure to replace the field names and emails with the one from your form, you can also add fields if you prefer.
You can find more useful scripts here: Send Instant Submission Notifications with Webhooks.
If you have questions, post it below.
Hello,
I am trying to create a form where the submission is sent to an email in plain text. However, I am read that this is not possible. The other option was a webhook. Please advise on how to go about doing this or if Jotforms will have this feature added back.
Thank you
where do I copy http://pastebin.com/raw/AmG72bve
can you please give us more instructions
what if my endpoint requires an authorization header with a bearer token. Is there a place or method to enter that data in the webhook url?
I want to set it up to do sms notification and also
and have the form submissions sent to my email
can I use the sample scripts?
Hello,
Can someone help me how to do this in step-by-step. I had created a form in jotform and I want also that someone who submitted my form will receive a text message.
Thanks in advance.
Not able to test with request bin
request bin url for my Form:
http://requestbin.fullcontact.com/1fwmmin1
sending text message notation to customer phone number
How do i send this post data in json format instead of multipart form??
It is not readily obvious what the field names are when parsing the rawRequest from the $_POST. It would be extremely helpful to have a procedure that builds php variables automatically.
So where does this code above go to? To ASP default.aspx or?
Please provide me help step by step
Will I get the users Public IP as well at my webhook endpoint? I really need that for geo-receverse his country....
Is is possible to set a secret key to authenticate against an API?
Thanks for the link to RequestBin! We have additional tools for debugging webhooks as well (including those that let you capture and forward to your live endpoints). Be sure to check them out: https://www.runscope.com
I am attempting to set up a direct integration to webmerge.me, but the problem appears to be the lack of ability on Jotform's end to generate the proper POST command with name/value pairs.
Am I missing an option somewhere or is the POST command simply immature at this time?
Thanks, Mark