Now in preview: HTTP Webhook Connector for Integration Service

Overview

Primary contact: Guy.VanWort@uipath.com @GuyVW

The UiPath HTTP Webhook Connector provides the capability to trigger any of your workflows directly from vendor applications that support webhooks. Within your workflow you can start from a new trigger–Webhook Event Happened–that will listen for incoming events from your configured vendor application.

This trigger activity exposes an external, accessible UiPath URL which routes the vendor event back to UiPath Integration Service. Integration Service and Studio can then filter on the message details prior to forwarding the workflow execution request to Orchestrator, so that you can limit robot execution time.

The implementation of the HTTP Webhook Connector results in a similar experience, as do any of the other Connector triggers, including filters you might have previously setup through Integration Service.

During this public preview phase, we are looking forward to learning about your great use cases and examples. Please share what issues you have encountered during your HTTP Webhook Connector trial experience. We are happy to learn where we can improve prior to moving this to GA.

Example Scenario

The UiPath Community Forum allows UiPath Administrators to setup monitoring for topics and posts via the Forum’s webhook configuration. Example workflows would filter these events out and Slack given channel with updates. There is no need for a Forum Connector in this scenario given that there’s a way to receive those external events now. In Studio we will need to start our workflows from this new event type Webhook Event Happened so that it will listen and filter for incoming forum events.

This Product demo YouTube video provides a deep dive for this scenario

Getting started

For Studio Desktop install the HTTP Webhook Activity Pack through Manage Packages. This package is supported as of Studio Desktop 23.4 and beyond.

For Studio Web, the package will automatically be installed

From within Studio

  1. Start your workflow with the HTTP Webhook: Webhook Event Happened event
  2. Create or reuse a connection in your personal or shared folder. A connection is the identifier for the external URL that will be generated. If you want others to build workflows, including filtering on events from the same application, consider creating the connection in a shared folder.
  3. When the connection is added on canvas, the activity will present you with a URL. This URL is accessible from outside UiPath and does not change during the lifespan of the connection.
  4. In your vendor application, configure the webhook setup by providing it the activity generated URL.
  5. Using the activity, define filters on the body or headers for the incoming events. This is helpful if your vendor app is sending out far too many notifications. Remember: if no filtering is provided within the activity, your robot will be triggered for every incoming event. While it is not mandatory to provide filtering, it is still usually a good practice.
  6. Add additional activities to your workflow. Any of these additional activities can reference the webhook data’s body and header information. Everything can be converted to JObjects so that you can access the raw data.

During debug and test runs you can add valid JSON for the body and header info with sample data so that it can be used as variables throughout the rest of the workflow.

|376x340.55452865064694

From within Integration Service

You should already have a published process supporting the way you want to execute when an event happens within the vendor application. Rather than editing and republishing your process, a separate Integration Service trigger will suffice.

  1. From the Integration Service catalog, create a new connection for the HTTP Webhook connector. This connection is the identifier for which the external URL will be generated.
  2. On the HTTP Webhook connector, add a new trigger, select your connection and the automation that needs to be executed.
  3. Define filters on the body or headers for the incoming events. This action is in case your vendor app is sending out far too many notifications. Remember: if no filtering is provided within the trigger setup, your robot will be triggered for every incoming event. Thus, it is not mandatory to provide filtering, though usually it is certainly a good practice.
  4. Save the trigger.
  5. On the connection just created on the HTTP Webhook connector, find the external URL that was generated for this connection. Copy / paste this into your vendor app webhook setup.

|471x115.60909090909091

Known limitations

  1. Authentication for Webhooks is not supported.
  2. Only JSON payloads are supported within the activity for any webhook.

Tips and tricks

  • Filtering is done on either the body or header properties which can be accessed in the filtering configuration as such. A valid example would be "body.message" contains hello or header.infoType Starts with customPost Notice that you have to provide the quotes for the key in order for this to work.

  • Accessing the full message from either body or headers can be done by casting them to a JObject. body.ToJObject() as you can see in this example. Note: a debug sample value was provided to run this in debug mode.

  • Accessing individual properties from either body or headers can be done by casting them to a JObject and parameterizing the properties you want to access. Example body.ToJObject()("message") to retrieve the content of message from the debug payload.

Demo

This YouTube video from the Product demo days goes deeper into this scenario

1 Like

@Charlie_Greenberg have you tried to connect to a webhook from UiPath Automation Hub ?

Hello Hieu,

I don’t think so. But I’ll double check with @GuyVW the product manager.

Thanks,
Charlie