{"id":3322,"date":"2023-05-12T14:02:36","date_gmt":"2023-05-12T12:02:36","guid":{"rendered":"https:\/\/help.ino.cx\/?post_type=ht_kb&#038;p=3322"},"modified":"2026-09-10T10:24:23","modified_gmt":"2026-09-10T08:24:23","slug":"webhooks","status":"publish","type":"ht_kb","link":"https:\/\/help.ino.cx\/index.php\/help-center\/webhooks\/","title":{"rendered":"Webhooks &#8211; Client account settings"},"content":{"rendered":"\n<figure class=\"wp-block-image alignright size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"379\" src=\"https:\/\/help.ino.cx\/wp-content\/uploads\/2026\/08\/image-1-1024x379.png\" alt=\"\" class=\"wp-image-6857\" style=\"width:250px;height:auto\" srcset=\"https:\/\/help.ino.cx\/wp-content\/uploads\/2026\/08\/image-1-1024x379.png 1024w, https:\/\/help.ino.cx\/wp-content\/uploads\/2026\/08\/image-1-300x111.png 300w, https:\/\/help.ino.cx\/wp-content\/uploads\/2026\/08\/image-1-768x284.png 768w, https:\/\/help.ino.cx\/wp-content\/uploads\/2026\/08\/image-1-50x19.png 50w, https:\/\/help.ino.cx\/wp-content\/uploads\/2026\/08\/image-1-60x22.png 60w, https:\/\/help.ino.cx\/wp-content\/uploads\/2026\/08\/image-1-100x37.png 100w, https:\/\/help.ino.cx\/wp-content\/uploads\/2026\/08\/image-1.png 1080w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><em>[Reading time: 6 minutes]<\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><em>This article covers the four sub-tabs of the Webhooks part of the client account settings: Settings, History, Documentation and Webhook rights.<\/em><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Overview<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The&nbsp;<strong>Webhooks<\/strong>&nbsp;tab sits in the Maker, in the client account settings. Open your user capsule, click&nbsp;<strong>Client account settings<\/strong>, then&nbsp;<strong>Webhooks<\/strong>&nbsp;in the left-hand menu.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">For an overview of the client account settings and all of its tabs, see the&nbsp;<a href=\"https:\/\/help.ino.cx\/index.php\/help-center\/client-account-settings\/\">Client account settings<\/a>&nbsp;article.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A webhook notifies your own system as soon as an event happens on the platform: a call starting, a case created, a campaign launched. INO cx calls the address you give it and passes the event on, which lets you connect your business tools to the platform without having to query INO cx in a loop.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"917\" height=\"1024\" src=\"https:\/\/help.ino.cx\/wp-content\/uploads\/2025\/11\/undraw_adjust-settings_6pis-917x1024.png\" alt=\"\" class=\"wp-image-5640\" style=\"width:250px;height:auto\" srcset=\"https:\/\/help.ino.cx\/wp-content\/uploads\/2025\/11\/undraw_adjust-settings_6pis-917x1024.png 917w, https:\/\/help.ino.cx\/wp-content\/uploads\/2025\/11\/undraw_adjust-settings_6pis-269x300.png 269w, https:\/\/help.ino.cx\/wp-content\/uploads\/2025\/11\/undraw_adjust-settings_6pis-768x858.png 768w, https:\/\/help.ino.cx\/wp-content\/uploads\/2025\/11\/undraw_adjust-settings_6pis-45x50.png 45w, https:\/\/help.ino.cx\/wp-content\/uploads\/2025\/11\/undraw_adjust-settings_6pis-1376x1536.png 1376w, https:\/\/help.ino.cx\/wp-content\/uploads\/2025\/11\/undraw_adjust-settings_6pis-54x60.png 54w, https:\/\/help.ino.cx\/wp-content\/uploads\/2025\/11\/undraw_adjust-settings_6pis-90x100.png 90w, https:\/\/help.ino.cx\/wp-content\/uploads\/2025\/11\/undraw_adjust-settings_6pis.png 1433w\" sizes=\"auto, (max-width: 917px) 100vw, 917px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">The setup order is as follows:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>In&nbsp;<strong>Settings<\/strong>, enable the integration and enter your address.<\/li>\n\n\n\n<li>In&nbsp;<strong>Webhook rights<\/strong>, choose the events you want to receive. As long as none is enabled, nothing goes out.<\/li>\n\n\n\n<li>In&nbsp;<strong>History<\/strong>, check that your events are arriving.<\/li>\n\n\n\n<li><strong>Documentation<\/strong>&nbsp;gives you the detail of the data sent, event by event.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><em><strong>Warning:<\/strong>&nbsp;the address you enter must start with&nbsp;<code>https:\/\/<\/code>. An&nbsp;<code>http:\/\/<\/code>&nbsp;address is refused.<\/em><\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>1.<\/strong>&nbsp;Prerequisites<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>A&nbsp;<strong>Smart<\/strong>&nbsp;licence.<\/li>\n\n\n\n<li>The&nbsp;<strong>read<\/strong>&nbsp;right on&nbsp;<strong>Webhooks<\/strong>&nbsp;must be enabled on your role to see the tab, and the&nbsp;<strong>edit<\/strong>&nbsp;right to change the settings and the webhook rights.<\/li>\n\n\n\n<li>The&nbsp;<strong>execute<\/strong>&nbsp;right on&nbsp;<strong>Webhooks<\/strong>&nbsp;is required to retry a webhook from the history. It is a separate right from edit.<\/li>\n\n\n\n<li>An&nbsp;<code>https:\/\/<\/code>&nbsp;address, on your system, ready to receive the events.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>2.<\/strong>&nbsp;Open the Webhooks tab<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>In the Maker, open your user capsule and click&nbsp;<strong>Client account settings<\/strong>.<\/li>\n\n\n\n<li>In the left-hand menu, click&nbsp;<strong>Webhooks<\/strong>, then pick the sub-tab you need.<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"169\" height=\"145\" src=\"https:\/\/help.ino.cx\/wp-content\/uploads\/2026\/08\/Capture-decran-2026-08-27-a-11.28.06.png\" alt=\"\" class=\"wp-image-6956\" srcset=\"https:\/\/help.ino.cx\/wp-content\/uploads\/2026\/08\/Capture-decran-2026-08-27-a-11.28.06.png 169w, https:\/\/help.ino.cx\/wp-content\/uploads\/2026\/08\/Capture-decran-2026-08-27-a-11.28.06-50x43.png 50w, https:\/\/help.ino.cx\/wp-content\/uploads\/2026\/08\/Capture-decran-2026-08-27-a-11.28.06-60x51.png 60w, https:\/\/help.ino.cx\/wp-content\/uploads\/2026\/08\/Capture-decran-2026-08-27-a-11.28.06-100x86.png 100w\" sizes=\"auto, (max-width: 169px) 100vw, 169px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>3.<\/strong>&nbsp;Settings<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Click&nbsp;<strong>Edit mode<\/strong>&nbsp;at the top of the page to make the fields editable.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>3.1.<\/strong>&nbsp;Webhook integration<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">The&nbsp;<strong>Webhook integration<\/strong>&nbsp;field is set to&nbsp;<strong>Enabled<\/strong>&nbsp;or&nbsp;<strong>Disabled<\/strong>. As long as it is on&nbsp;<strong>Disabled<\/strong>, every other field stays out of reach and no event goes out.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>3.2.<\/strong>&nbsp;URL<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Enter the address where you want to receive the events. It must start with&nbsp;<code>https:\/\/<\/code>, otherwise the message &#8220;The URL is invalid.&#8221; appears. It becomes required as soon as the integration is enabled: left empty, you get &#8220;The URL is required.&#8221;.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>3.3.<\/strong>&nbsp;Authentication<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">The&nbsp;<strong>Authentication<\/strong>&nbsp;field is set to&nbsp;<strong>Yes<\/strong>&nbsp;or&nbsp;<strong>No<\/strong>. On&nbsp;<strong>Yes<\/strong>, two fields appear:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Login<\/strong>: between 1 and 255 characters.<\/li>\n\n\n\n<li><strong>Password<\/strong>: between 1 and 45 characters. An icon lets you reveal what you type so you can check it.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><em><strong>Important:<\/strong>&nbsp;the password is never shown back to you. In display mode you always see six dots, even when no password is stored, and in edit mode the field is empty. Since it is required as soon as authentication is on&nbsp;<strong>Yes<\/strong>, you have to enter it again on every save, even when you are only changing the URL.<\/em><\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>3.4.<\/strong>&nbsp;Save then test<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Click&nbsp;<strong>Save<\/strong>. The message &#8220;The webhook information has been successfully modified.&#8221; confirms the change.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The&nbsp;<strong>Test the connection<\/strong>&nbsp;button then appears, under two conditions: the integration must be&nbsp;<strong>Enabled<\/strong>&nbsp;and you must have left edit mode. It checks the values&nbsp;<strong>already saved<\/strong>, not what you have just typed: so save first, then run the test.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>&#8220;Authentication successful.&#8221;: your system answered and accepted the credentials.<\/li>\n\n\n\n<li>&#8220;Authentication failed.&#8221;: it did not answer, refused the credentials, or the address is not filled in.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>4.<\/strong>&nbsp;History<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>4.1.<\/strong>&nbsp;Choose the period and search<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">The table opens on the current day. Widen the period to go further back. The search field covers the address called and the name of the event.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><em><strong>Warning:<\/strong>&nbsp;the history is kept for&nbsp;<strong>10 days<\/strong>. An automatic process runs every night and removes older entries. Do not rely on this tab for tracking beyond that.<\/em><\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>4.2.<\/strong>&nbsp;Read the table<\/h3>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th class=\"has-text-align-left\" data-align=\"left\">Column<\/th><th class=\"has-text-align-left\" data-align=\"left\">Content<\/th><\/tr><\/thead><tbody><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>Date<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">When the event was sent.<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>Webhook trigger<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">The name of the event, for example&nbsp;<code>interaction:start<\/code>.<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>URL<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">The address called at that moment.<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>Authentication<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\"><strong>Yes<\/strong>&nbsp;or&nbsp;<strong>No<\/strong>, depending on whether the call carried credentials.<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><strong>HTTP response code<\/strong><\/td><td class=\"has-text-align-left\" data-align=\"left\">Your system&#8217;s answer, with a colour cue: green below 300, orange from 300 to 499, red above. Empty if your system did not answer.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">INO cx waits 2 seconds for your system&#8217;s answer. Beyond that, the call counts as unanswered.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>4.3.<\/strong>&nbsp;See what was sent<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">The&nbsp;<strong>See details<\/strong>&nbsp;button expands the line and shows the&nbsp;<strong>Query body<\/strong>, that is the data passed for that event. Handy to compare with what your system received.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>4.4.<\/strong>&nbsp;See the attempts of one send<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">The&nbsp;<strong>Open<\/strong>&nbsp;button shows the list of attempts for that send, each with its&nbsp;<strong>Date<\/strong>&nbsp;and its&nbsp;<strong>HTTP response code<\/strong>. Only the 10 most recent attempts are kept.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>4.5.<\/strong>&nbsp;Retry a webhook<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">The&nbsp;<strong>Retry<\/strong>&nbsp;button sends the same event to the same address again. The message &#8220;The webhook has been successfully relaunched.&#8221; confirms it went out, and a new attempt is added to the line.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>You need the&nbsp;<strong>execute<\/strong>&nbsp;right on&nbsp;<strong>Webhooks<\/strong>. Without it, the button does not appear.<\/li>\n\n\n\n<li>A&nbsp;<strong>10 second<\/strong>&nbsp;delay applies between two attempts on the same line. Before the delay is over, the button does not respond and shows &#8220;Please wait 10 seconds before relaunching the webhook.&#8221;.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><em><strong>Note:<\/strong>&nbsp;there is no automatic retry. If your system was unavailable when the event was sent, the event is lost unless you relaunch it yourself from this tab. That is another reason the 10 day retention matters.<\/em><\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>5.<\/strong>&nbsp;Documentation<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">This sub-tab is the technical reference to pass on to whoever will connect your system. It opens on&nbsp;<strong>Webhooks: Documentation<\/strong>&nbsp;and contains:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>A general presentation of what webhooks are on INO cx.<\/li>\n\n\n\n<li><strong>Protocol<\/strong>: the reminder that the address must be exclusively in HTTPS.<\/li>\n\n\n\n<li><strong>Enable the webhooks<\/strong>: the setup steps, the same as in this article.<\/li>\n\n\n\n<li><strong>Authentication<\/strong>: how to enter the credentials, with the reminder that only the Basic method is available.<\/li>\n\n\n\n<li><strong>To know<\/strong>, which contains the&nbsp;<strong>Structure<\/strong>&nbsp;shared by every event and an&nbsp;<strong>Example<\/strong>&nbsp;of NodeJS code to retrieve an event.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Every event shares the same structure: a unique identifier for the event, the name of the event, and a set containing its data.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Then comes one block per event, with its name, its description, the&nbsp;<strong>Event data<\/strong>&nbsp;table and an&nbsp;<strong>Example<\/strong>&nbsp;of what is sent. A navigation menu lets you jump straight to the event you care about.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>6.<\/strong>&nbsp;Webhook rights<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>6.1.<\/strong>&nbsp;Choose the events<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">This is where you decide what you receive. Nothing goes out for an event left on&nbsp;<strong>No<\/strong>, even with the integration enabled and a valid address.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The events are split across twelve modules, shown as sub-tabs:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Users<\/strong>,&nbsp;<strong>Payment<\/strong>,&nbsp;<strong>Interaction<\/strong>,&nbsp;<strong>Voice campaign<\/strong>,&nbsp;<strong>CRM<\/strong>,&nbsp;<strong>Entry points<\/strong><\/li>\n\n\n\n<li><strong>Document center<\/strong>,&nbsp;<strong>SMS campaign<\/strong>,&nbsp;<strong>Cases<\/strong>,&nbsp;<strong>Toolbox<\/strong>,&nbsp;<strong>WhatsApp campaign<\/strong>,&nbsp;<strong>Scheduled reports<\/strong><\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Each module is split into sub-parts, and every event carries its own&nbsp;<strong>Yes<\/strong>&nbsp;or&nbsp;<strong>No<\/strong>&nbsp;switch. The&nbsp;<strong>Interaction<\/strong>&nbsp;module is the largest: it covers distribution, transfers, participants, recordings, SMART voice mailboxes, IVR recorders, SMS, Smart Routing and qualification, among others.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>6.2.<\/strong>&nbsp;Save<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Click&nbsp;<strong>Edit mode<\/strong>, set the switches you want, then&nbsp;<strong>Save<\/strong>. The message &#8220;The webhook rights have been successfully modified.&#8221; confirms the change.&nbsp;<strong>Cancel<\/strong>&nbsp;drops your changes.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><em><strong>Note:<\/strong>&nbsp;only enable the events you actually need. Each enabled event triggers a call to your system, and all those calls fill up the history.<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>A webhook is data that is sent to you when someone performs an action on INO: log in, change activity, decline a call, etc. These are detailed and precise logs that you choose to receive.<br \/>\nIn this article we will see how to activate webhooks and configure them.<\/p>\n","protected":false},"author":3,"comment_status":"closed","ping_status":"closed","template":"","format":"standard","meta":{"footnotes":""},"ht-kb-category":[107],"ht-kb-tag":[131],"class_list":["post-3322","ht_kb","type-ht_kb","status-publish","format-standard","hentry","ht_kb_category-configuring","ht_kb_tag-maker"],"_links":{"self":[{"href":"https:\/\/help.ino.cx\/index.php\/wp-json\/wp\/v2\/ht-kb\/3322","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/help.ino.cx\/index.php\/wp-json\/wp\/v2\/ht-kb"}],"about":[{"href":"https:\/\/help.ino.cx\/index.php\/wp-json\/wp\/v2\/types\/ht_kb"}],"author":[{"embeddable":true,"href":"https:\/\/help.ino.cx\/index.php\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/help.ino.cx\/index.php\/wp-json\/wp\/v2\/comments?post=3322"}],"version-history":[{"count":5,"href":"https:\/\/help.ino.cx\/index.php\/wp-json\/wp\/v2\/ht-kb\/3322\/revisions"}],"predecessor-version":[{"id":7029,"href":"https:\/\/help.ino.cx\/index.php\/wp-json\/wp\/v2\/ht-kb\/3322\/revisions\/7029"}],"wp:attachment":[{"href":"https:\/\/help.ino.cx\/index.php\/wp-json\/wp\/v2\/media?parent=3322"}],"wp:term":[{"taxonomy":"ht_kb_category","embeddable":true,"href":"https:\/\/help.ino.cx\/index.php\/wp-json\/wp\/v2\/ht-kb-category?post=3322"},{"taxonomy":"ht_kb_tag","embeddable":true,"href":"https:\/\/help.ino.cx\/index.php\/wp-json\/wp\/v2\/ht-kb-tag?post=3322"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}