Zapier enables users to send Ideas created in Brightidea into your ServiceNow system. Zapier also opens up the ability to send ServiceNow submissions into Brightidea to generate new Ideas. This article will showcase both creating a record in ServiceNow from Brightidea, and creating a new idea in a Brightidea pipeline from ServiceNow through Zapier and Webhooks.
- Outgoing Webhooks: Passing Ideas into ServiceNow
- Incoming Webhooks: Passing ServiceNow Records into Brightidea
Passing Brightidea Submissions into ServiceNow (Outgoing Webhooks)
Setting up the Webhook
Begin configuring a Zap with 'Webhooks by Zapier' and follow the prompts to get a URL:
Open Brightidea and create a rule:
- Method: Post (to match Zapier configuration)
- URL: Copy and paste from configuration above
- Content type: JSON
- Header: HDR1:hdr1
- Body: start with the sample code below to send all of the dynamic fields to Zapier
Return to Zapier
Continue to follow the prompts to configure the action with test data:
- Send a test request by triggering the rule. It should come across nicely like this:
- Select the action to perform. For us, we will create a new ServiceNow record using the fields from above.
- Choose ServiceNow as the app, and "Create Record" as the Action Event.
- Next, Zapier will ask you to select the table you want to pass the Brightidea records into, and customize/map the fields using the Brightidea data fields you've configured above.
- Confirm via the test prompts that everything is coming through and matching up correctly
Once the zap is correctly set up, anytime your newly created rule triggers (i.e. when an idea hits a certain step), the Idea will be passed into the selected ServiceNow table as a new record.
Let's say we have an Idea Box set up for enhancement requests, and we want to push the requests into ServiceNow at a certain step.
Create the rule using the steps listed above, and make the event the triggers the rule "Added to Step":
Once the rule is created, move one of your ideas into the Step you've connected to the trigger.
In the background, the configured rule will fire, and the HTTP Request (Webhook) will push the idea into ServiceNow as a new record.
In a ServiceNow table:
In a ServiceNow portal:
Incoming Webhooks (Passing ServiceNow Records into Brightidea)
Setting up the Webhook
In Terminal or Postman
- Locate the pipeline ID for the initiative you want to connect to ServiceNow. Easiest method is to get it from the end of the URL in Steps or List view:
- You'll now need to add a webhook through an API call to that specific pipeline that will catch an incoming requests. Here's how it will look in Postman:
- Grab an access token by making a request into /_oauth2/token (see: Authentication - Password Credentials Flow for details)
- Once you have a token, you will need to POST into /_webhook/add using the token in the header and the pipeline ID in the form data.
- If successful, you will receive a hash_id that you will be able to use in your requests from Zapier/ServiceNow:
Now that we have a hash ID connected to the specific pipeline, we can set up a Zap that will use the static hash rather than an access token (the latter would need to be refreshed every hour).
Begin configuring a Zap with 'New Record in ServiceNow' (Note: Currently, Zapier only includes one type of action from ServiceNow (Create Record), as more actions get added, you will be able to use those as the trigger for your webhook.)
- Choose the table you want Zapier to watch and pull new requests from to send into Brightidea.
- Test your trigger to make sure it's pulling records from the ServiceNow table successfully.
- Next, configure the webhook with 'Webhooks by Zapier' and choose "POST" as the event:
- Configure the webhook to match the fields needed to create an Idea within Brightidea.
- Required Fields:
- hash_id: Use the hash you received in the steps listed above.
- action: create_idea
- title: This will be the title of your newly created idea (map it to a dynamic column header in the ServiceNow table)
- description: This will be the description of your newly created idea (map it to a dynamic column header in the ServiceNow table)
- Optional Fields:
- submitter: Email address of the submitter
- category: This will be the category of your newly created idea
- Additional Questions: If you have additional fields in your Brightidea pipeline, you can set those up in your request by using the question ID. In the example below, we're passing the ServiceNow record URL into Brightidea as an additional field. (See the Additional Questions field under Create Idea in our API documentation for instructions)
- Required Fields:
- Confirm via the test prompts that everything is coming through and matching up correctly.
Once the zap is correctly set up, anytime a record is added to a specific table in ServiceNow, the record will be passed into your selected Brightidea initiative as a new idea.
Let's say we have a table built on the backend in ServiceNow to capture new ideas coming inbound from customers. We want to manage those ideas alongside all the ideas within Brightidea and keep everything under one roof.
Once the Zap is built and turned on, add a new record into the ServiceNow table.
After the ServiceNow record is added, the Zap will read the action, and fire off a POST request based on the Webhook. The idea will then be created within Brightidea: