Automate ticket creation in Jira from an in-app form submission using Appcues webhooks
Learn how to use a Webhook to create a Jira ticket based on an Appcues survey.
Table of Contents
Use Case
Imagine you want to use an Appcues Flow to collect feedback from your users on new feature ideas. Maybe it looks something like this:
Now, your product and development teams use a Jira board to manage their backlog. Wouldn't it be great if these user-submitted feature ideas landed right in your board's inbox? Luckily, integrating Appcues with Jira is easy with webhooks!
Setup Instructions
In your Jira project board, click “Project settings”.
Click “Automation”.
On the Automation page, click the “Create rule” button.
On the Rule builder page, you'll first create your trigger. Search for and select the “Incoming webhook” option.
This option will allow Jira to “catch” the webhook that will come from Appcues when a user submits feedback via a Flow.
On the webhook configuration page, select “No issues from the webhook”. Then, copy the “Webhook URL”.
You'll use this URL to set up the webhook in Appcues later.
When you're asked to select your next component, choose “THEN: Add an action”.
This step will take the data received from the incoming webhook and turn it into a new Jira ticket.
For the action type, select “Create issue”.
Configure your issue template.
Select the Issue type (in this example, I chose “Task”).
You'll then choose how the body of the issue should be populated. At a minimum, you'll need to give the issue a “Summary” title. What's great about Jira Automation is that you can dynamically populate the content of the issue with data you receive from your webhook trigger using their Smart Value syntax.
The entire incoming webhook payload is represented by {{webhookData}}. From there, you can parse out the specific bits of data you want to include when generating the issue.
In the example below, I am mapping the response from the first field of my Flow ("Feature Idea") to the issue Summary and the response from the second field ("Provide any details you can think of") to the “Description” field.
The exact value to enter in your Jira Automation rule will depend on 1) the structure of your Flow; and 2) what you want to populate in the Jira issue. Generally speaking, this is what the structure of an Appcues form_submitted event will look like. More examples of payloads of other event types are included in the Appcues webhook help doc.
Note that:
- The response values are captured by drilling down to attrbutes.interaction.response
- Since a single form_submitted webhook event will have multiple sections in the response block if the Flow step asks multiple questions, you'll need to use Jira's .get() method to specific which one you want to use (remembering that the first value exists at index 0)
{
"user_profile": null,
"account_id": "94742",
"attributes": {
"flowId": "59d99389-0ee6-4274-ae10-c6d2a7c41ef9",
"flowName": "Feature Request Submission",
"flowType": "journey",
"flowVersion": 1711561404523,
"interaction": {
"category": "form",
"formId": null,
"response": [
{
"customReportingLabel": null,
"fieldId": "accff036-8cea-4eb3-86e3-3e0f3aa1695f",
"fieldRequired": false,
"fieldType": "null",
"formFieldIndex": 0,
"label": "Feature idea",
"value": "An alert when someone on my team edits a project"
},
{
"customReportingLabel": null,
"fieldId": "f626eb75-07e4-4544-9a52-66a5ee533008",
"fieldRequired": false,
"fieldType": null,
"formFieldIndex": 1,
"label": "Provide any details you can think of",
"value": "Sometimes I find out way after the fact that someone on my team made a change to a project in my account that changes its behavior and breaks things downstream. I wish I could get alerted in realtime when I change is made so I can address it sooner. Email would be my preference, but a Slack alert would work too!"
}
],
"submissionId": "d64e02bc-2dda-434c-b20b-b0cd75d45949"
},
"interactionType": "submit",
"sessionId": "00d13118-f505-4baf-8970-84acc393bfc8",
"stepChildId": "1514403b-b7f6-445e-9a6f-6bdf209a1235",
"stepChildNumber": 0,
"stepId": "da359590-b850-429a-b622-ee95a8e77c27",
"stepNumber": 0,
"stepType": "modal"
},
"group_id": null,
"id": "fc0f22f7-044a-4801-ba7c-5419b6a67e09",
"ingested_at": 1711569462676,
"name": "appcues:form_submitted",
"timestamp": 1711569462452,
"user_id": "anon:271b4527-dddc-4d5f-b9de-502db7343b4c"
}
Enable the automation rule.
Create your outbound webhook in Appcues at https://studio.appcues.com/integrations/webhooks.
Enter the URL you copied from Jira in the “Endpoint URL” field.
In this example, we want the webhook to trigger on the “Web Flow Form Submitted” event, and only for the single Flow we're interested in. Alternatively, you could just select the “Events” option and have the webhook trigger any time a form is submitted across any Flow.
Enable the webhook from the “…” menu on the webhook list page.
And you're done! Issues will now populate in your Jira board whenever they are submitted in the Appcues Flow.