cancel
Showing results for 
Search instead for 
Did you mean: 

Using HTTP Response trigger and Webhook to connect Formstack with Power Automate

This is a simple example/concept how to use webhooks and HTTP Response in Power automate to integrate Formstack and collect/process data in Office 365 environment. This can be options for applications where there are no existing connectors in Power Automate. In our case, we are using Formstack for various data collections and submissions in a company. Formstack has internal database, submission analytics/reports but all this data siloed inside Formstack environment and anyone who need access required separate account. They have few integrations but not for Power Automate/Office 365. Further data processing in our Office 365 workspace will required manual work, exporting/importing Excel files, manuals entries. Our goal is having single source of data and reporting in our environment based on Power platform (Power BI, Power Apps).

One of the use cases of Formstack forms can be collection of job applications into SharePoint list, which we will go though below.

As stated, MS Power Automate doesn’t have any official connectors for Formstack neither Formstack has existing integration. This example will give you idea how you can use Webhook features in Formstack to capture any form data from Formstack side. In general, using same approach, you can get data from other systems through Webhook and Power Automate. I am using get alerts from Meraki network appliances to MS Teams when WifI or network go down. 

In short there are following steps to create automation.

  • Build Formstack form or use existing one.
  • Create Webhook and use webhook.site to create end point.
  • Submit sample info to have sample payload in JSON format
  • Create Flow using HTTP Response (requires Premium) and add required actions steps
  • Using HTTP action to get attachments

Start by going to your forms in Formstack, select form you want to use and go Settings. Follow to Email and Actions section. There you should see Advanced settings. Expand and you should see option Add a Webhook. First, we need capture some sample payload to use in Power Automate later for schema. Go ahead and create one for test. I used https://webhook.site as my end point to capture JSON response.  Once you open site it will create sample endpoint URL where you can post your webhook. Copy URL and use it for webhook you are creating.

Choose JSON as format to post. See screens below.

FormStackBuildForm.PNGForm

AddWebhook.PNG

 

Webhooksite.PNG

 

After you created webhook, go to live form itself and fill all info (put info in all fields as we need this for formatting sample output). After you submit you should see result as JSON with your sample data.

Webhook details.PNG

 

We will use this for Power Automate in few seconds.

Go to you Power Automate environment and create new Automated flow. I usually skip wizard/templates and prefer start from scratch. For trigger use HTTP Response (Premium). Here we will use sample JSON file so Power Automate understand data format sent from our Formstack forms. Use Generate from Sample option and then copy and paste JSON formatted data from webhook bin into Power Automate prompt. Click done and it will create sample Request Body JSON Schema. So all forms fields will be easily visible by Power Automate and can be used as data fields.

Leave HTTP POST URL as is, it will be generated after you saved Flow. SamplePayload.PNG

 

Add you next action step. In our case we want add records into SP list. We already created SharePoint list in our HR team sites with required fields we want to collect and will use SharePoint connector and Create items action. Select site/list and you can see all required columns, which we fill with corresponding Dynamic content. As you can see data from HTTP response are very readable and have simple plain English names matching forms fields. Example, for Full name we can use first name and last name fields together, etc. Match all columns with fields. Also, I have Status column which will set status for this applicant as “under review” which later we planning to use to trigger other business processes.

Flow3.PNG

 

Please note if you have some form data in let say “Array” format, such as multiply choices you can’t put them directly into columns and need extra processing. In my case I used Data operation to transform array to string before adding them into SharePoint column. For this I initialised variable and used data operation in flow.
I also decided add Resume as Attachments to same list item. Alternatively, you can save it to SharePoint folder. (and same time you can rename file to match applicant name).

Flow1.PNG


Here the steps to retrieve file from Formstack and create attachment in list, using HTTP get request to pull file content and Add Attachment action. ID of list item we got from previous steps when we created it. I renaming file same time using applicant name and trimming file extension. 

getAttachments.PNG

 

After you saved your Flow it will create end point, copy URL and replaced in your webhook settings on a Formstack side. 

That’s it, this will be very simple way to capture data from Formstack or similar services to SharePoint/Office 365

Next you can add more actions, such as send notification to respective staff, whom attention required, post nicely formatted adaptive card message into Teams, etc. 

Beauty of it, once data is captured in Office 365 you can trigger many other workflows and automate processes further.

For example,  in case of successful application this can be easily used to automate new account creation in Office 365 and triggering onboarding workflow. Using Power Automate actions you can create folders in HR SharePoint teams for new employees’ records, save resume and keep other employee files in one place.  After you receive and store data in Office 365 workspace you have large potential to process and automate further. Yo can link data with Power BI and create dashboard to analyze data. You can feed any forms data to your CRM, send to Teams, etc. You named. 

Few other notes.

In our case we added Notes and Applicant status columns to our data. Person who will interview applicant then will put notes and will update status for this applicant as “Rejected” or “Approved” right there.  If candidate "Approved" further notifications will be sent to HR triggering next stage of process.  Eventually we are also planning link process with resume parsing service to capture data and adding notifications to HR with data preview/approval  and route info to specific regional managers, based on Home Area selected by applicant. 

Summary

We used generic HTTP connector capable to connect with external data where standard connector doesn’t exist. We used Webhook to pass data and trigger action, which available for many systems outside of Power Automate library. Also we used forms to  list automation to add records into list (simple database). This also show Power Automate potential to build end to end business process. 

 

 

Meet Our Blog Authors
  • Experienced Consultant with a demonstrated history of working in the information technology and services industry. Skilled in Office 365, Azure, SharePoint Online, PowerShell, Nintex, K2, SharePoint Designer workflow automation, PowerApps, Microsoft Flow, PowerShell, Active Directory, Operating Systems, Networking, and JavaScript. Strong consulting professional with a Bachelor of Engineering (B.E.) focused in Information Technology from Mumbai University.
  • Encodian Owner / Founder - Ex Microsoft Consulting Services - Architect / Developer - 20 years in SharePoint - PowerPlatform Fan
  • Cambridge UK Power Platform User Group Leader, Technical evangelist and speaker. Always says yes to coffee! #LetsGetCoffee
  • Passionate #Programmer #SharePoint #SPFx #Office365 #MSFlow | C-sharpCorner MVP | SharePoint StackOverflow, Github, PnP contributor
  • I am building business processes and applications that are easy for users' to stick to, so they can follow and understand them. In overall I transform processes to be more reliable and effortless. I am a proud co-organizer of SharePoint Saturday Warsaw and active community member, blogger and international speaker.