Configuring a webhook callback URL

Before you use the webhook-supported input nodes to receive notifications from a server, you must configure the host, port, external base URL, SSL certificate, and SSL password as necessary in App Connect generated webhook callback URL associated with the event.

Before you begin

About this task

Use these instructions to configure a webhook callback URL.

Procedure

  1. Click the webhook-supported input node, and then click Launch Connector Discovery to view the webhook callback URL linked to the event.
    For example, New lead in Marketo is selected.
    Webhook callback URL generated in Marketo connector
  2. To copy the URL to your clipboard, click The icon that represents copy to clipboard.
    In the webhook callback URL, http://ace-host:ace-port/webhooks/slack/RawMessage/imylH4CEIY034rvg3sKsQQhkZFVkNlJwCVhIxV6yGO-vIYTA8MWLZhLEZ0HLDVs1vfBPt6-dibTx6pqLcAV4vzQ, ace-host is the hostname of the integration server and ace-port is the port that the integration server listens to.
  3. Optional: To configure the webhook callback URL, replace the following URL properties in the WebhookListener section of the server.conf.yaml file.
    Note: You only need to configure the WebhookListener in server.conf.yaml file if you want to customize these default settings.
    • To start your listener when the integration server starts
    • To secure the webhook endpoint with TLS
    • If you set up an external route to the webhook endpoint
    • startWebhookListener: Set this property to 'Automatic', 'On', or 'Off' based on when to start the webhook listener. The default setting is 'Automatic'.
    • externalBaseUrl: The external base URL to be used for constructing the webhook endpoint. If unspecified, the external base URL is constructed from the host or port configuration.
    • port: The listener port for webhook designer connectors. The default setting is 3008.
    • host: The hostname to bind. If this property is not set, it binds to an available address.
    • sslCertificate: Configure this property only if the webhook endpoint requires an HTTPS URL. The certificate type can be either p12 or pem.
    • sslPassword: The sslPassword is the full path to the server private key, which must be a standard private key and not an encrypted one (for pem), and the sslPassword property specifies the passphrase or alias to the passphrase of the certificate store (for p12).

    Alternatively, if you are using the integration node, run the mqsireportproperties command to display the WebhookListener resource manager properties to make the necessary changes.

  4. If you are connecting to a Software as a Service (SaaS) based connector webhook input node (for example, Slack or Eventbrite) from IBM App Connect Enterprise on-premises integration server, complete the following steps:
    Note: If your integration server is on a private network, SaaS providers such as Slack or Eventbrite cannot reach the callback URL. Eventbrite rejects the automatic registration of the webhook callback URL if it's unreachable, causing deployment failures.
    1. Open your server.conf.yaml file and locate the WebhookListener section, or run the mqsireportproperties command to display the WebhookListener resource manager properties.
    2. Set the externalBaseUrl property to a public URL.

      For example, use a tunnel or routing service to map the local webhook listener URL to a public URL. The tunnel or routing service ensures that the locally hosted webhook callback URL becomes accessible from the public internet.

    3. Restart your App Connect integration server to apply the new settings.
  5. Deploy the message flow that you created. For more information, see Deploying integration solutions.
    After deploying the flow with the webhook input node to the integration server, you can view the actual URL in the Endpoints tab of the message flow within the web user interface. Endpoints tab with webhook URL host and port configured in Marketo

    In the URL http://ibm-pf3xhkkm.dmain:3008/webhooks/slack/RawMessage/imylH4CEIY034rvg3sKsQQhkZFVkNlJwCVhIxV6yGO-vIYTA8MWLZhLEZ0HLDVs1vfBPt6-dibTx6pqLcAV4vzQ, ace-host is replaced with the hostname of the integration server where the flow is deployed, and ace-port is replaced with the default port value of 3008.

  6. If your connector requires a manual webhook callback URL registration, manually register the App Connect generated webhook callback URL with the application provider:
    Once the webhook callback URL is registered with the application provider, the flow receives the webhook events that get sent by the application provider.