Webhook Overview

Webhooks allow you to create applications that subscribe to ArtiBot.ai events. When an event is triggered, a payload is delivered to the webhook's configured URL.

For example, you could create an application utilizing an ArtiBot.ai webhook that posts to a Slack channel whenever a new lead is added to ArtiBot.ai.

Read More About Webhooks↗

What are Events?

When configuring a webhook, you can select which events will deliever a payload to your server. After creating a webhook, you may edit the webhook to change the event subscriptions. Every event corresponds to a set of actions that can happen with ArtiBot.ai.

 

Getting Started

Setup in ArtiBot.ai

After you're signed in and have created an ArtiBot, find Webhooks under the Settings tab.

Select the Webhooks submenu and choose Add Webhook.

Setup your webhook and choose Save to subscribe to your checked events.

How to Run the Sample Application:

For some sample project files, check out our Webhook Github.

  • From the command line:
    • Change directory (cd) to artibot-samples/webhooks/csharp/WebhookSample/WebhookSample
    • dotnet run

  • From Visual Studio:
    • Open the solution file
    • Press f5 to run the application

How to Test:

Use Postman or a similar tool to compose a request as follows:

  • HTTP method: POST
  • URL: http://localhost:5000/api/webhooks
  • Body: "{}" (without the quotes)
  • Headers
    • Key: Content-Type, Value: application/json
    • Key: x-artibot-signature, Value: D3817110D46EBB2678A3752F4912C74B2A3E736E

Execute the request. The request should return a 200 OK.

Changing the x-artibot-signature, the URL (for example by adding query string parameters), or the body should return a 401 Unauthorized.

Example Request:

Header

{
  "x-artibot-signature": [
    "169BCB04C5XVC58D048A22F445FGEK35C2F1DCBW"
  ]
}

Body

{
  "lead": {
    "id": "703dbb36-5799-4157-80b3-ba861a59f335",
    "create_date": "2019-03-27T16:20:41.476425",
    "modify_date": "2019-03-27T16:21:06.6601282Z",
    "bot_id": "78b2ec4f-9751-4cba-902e-00000000000a",
    "bot_version_id": "c3c90e2f-8e00-4f54-8c5d-000000000000",
    "account_id": "9a2f8878-289a-4f99-8677-000000000000",
    "contact_id": "331d98a4-3819-464b-b10f-000000000000",
    "status": 0,
    "version": 5,
    "data": {
      "DOB": {
        "input": "next year",
        "type": "dateTime",
        "display_value": "2020",
        "value": "2020-01-01T07:00:00Z",
        "grain": "year",
        "time_zone_offset": -7
      },
      "Pet Count": {
        "input": "1",
        "type": "number",
        "display_value": "1",
        "value": 1
      },
      "Question 1": {
        "input": "Chad",
        "type": "text",
        "display_value": "Chad",
        "value": "Chad"
      },
      "Question 2": {
        "input": "email@mail.com",
        "type": "email",
        "display_value": "email@mail.com",
        "value": "email@mail.com"
      },
      "Appointment": {
        "input": "28/03/2019 9:00 AM - 28/03/2019 9:30 AM",
        "type": "appointmentScheduler",
        "display_value": "28/03/2019 9:00 AM - 9:30 AM",
        "value": {
          "start": "2019-03-28T16:00:00Z",
          "end": "2019-03-28T16:30:00Z"
        },
        "time_zone_offset": -7
      }
    },
    "meta": {
      "chat_start_page": "http://artibot.ai/h/zzxmecal",
      "ip_address": "50.100.100.50",
      "location": {
        "country_abbreviation": "FR",
        "country": "France",
        "state": "Paris",
        "city": "Paris",
        "latitude": "48.8331",
        "longitude": "2.3264"
      },
      "browser": {
        "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36",
        "name": "Chrome",
        "version": "72",
        "major": null,
        "is_mobile": false
      }
    }
  },
  "resource": "lead",
  "action": "updated",
  "resource_id": "703dbb36-5799-4157-80b3-000000000000",
  "time_stamp": "2019-03-27T16:21:06.8798068Z",
  "version": 5
}