Webhooks enable web applications to communicate automatically with other web applications. 

A webhook is an HTTP request, triggered by an event in a source system and sent to a destination system, typically carrying a data payload. Webhooks are messages sent automatically by apps when anything happens. Each webhook includes a message or payload and is sent to a unique URL, functioning as the app’s unique identifier, much like a phone number or address.
If you want to stay informed about activities within the Faveo helpdesk, consider setting up webhooks. It’s important to note that Faveo does not generate internal events linked to the thread since the events in the thread are initiated individually. For example, when a ticket is assigned to an agent,  a new ticket thread is created. Because these events are handled/triggered separately, such as “ticket assigned,” Faveo does not trigger any internal thread model events.

Here’s how to set up webhooks in Faveo:
Login to your Faveo Support Portal as an Admin and go to the Admin Panel > Settings > Webhook.

1rFDn5bV7VglOufzfeWu90Pi1WQhKc6J7EoGhmQ1ibhtf_eeUMTXHcf4Egd3h73l1n_esHmYPjihNUWkTnVnbbALsavpn6MpnfwbNks9_iIu9bhajeJBPcaoMwYuRD1miyybpw93Ckl9d-6NtNM7mRo

  • Webhook Source: Admins can configure the Webhook Source to specify which ticket events should trigger the webhook and provide the URL of the destination system. By default, the Web and Agent Panel are activated as options for the webhook source. You can choose additional options by selecting the respective checkboxes.
    A Webhook Source is a system specifically created to manage events related to tickets in Faveo. The Webhook Source plays a crucial role in providing real-time communication and data exchange when events related to tickets occur. The Webhook Source identifies and detects specific events or changes associated with tickets. Examples of ticket-related events include ticket creation, assignment to an agent, status changes, comments or replies, ticket owner updates, and ticket due date updates.
  • Webhook URL: You can specify any URL as the destination for the event. When a ticket is updated, the ticket information is pushed to the specified URL through the POST method. This URL must correspond to a dedicated page on your server specifically configured to receive notifications through webhooks. To save the information, click Submit.

Responding to a Webhook
To acknowledge receipt of a webhook, your endpoint should return a 2xx HTTP status code. All response codes outside of this range, including 3xx codes, indicate to Faveo that you did not receive the webhook. This means that a URL redirection or a “Not Modified” response will be considered a failure. Faveo will disregard any additional information returned in the request headers or request body.

Event Types
The following are the system events:

  • Ticket created
  • Ticket reply
  • Ticket status updated
  • Ticket department updated
  • Ticket assigned

The following example demonstrates how the webhook flow works.

1. Ticket created
When a ticket is created in Faveo, this webhook is triggered.

Payload:

EventTicket created
ticket{“creator_id”:”1″,”user_id”:”2″,”help_topic_id”:”1″,”dept_id”:”1″,”sla”:””,”location_id”:””,”priority_id”:”1″,”type”:””,”source”:”1″,”status”:”1″,”updated_at”:”2022-06-16 07:52:32″,”created_at”:”2022-06-16 07:52:32″,”id”:”10″,”ticket_number”:”HDSK-AAAA-0010″,”thread_count”:”0″,”attachment_count”:”0″,”poster”:””,”encrypted_id”:”eyJpdiI6IkVhSWxmVVNneHJMMHpBY1ExQlJyTGc9PSIsInZhbHVlIjoiYXFSR282aHJBQ2o0NTZ2eEZxSXlPQT09IiwibWFjIjoiZDAwZDYzMTkwMjRhYzY1ZGRiZjQxNjZkMDNjOWQ1OWU3MTM5Y2U5YmUwOTU4N2UyMzE2MjYwNDU1NDJkZTA3MiJ9″,”strictly_thread_count”:”0″}
requester{“id”:”2″,”first_name”:”Sheikh”,”last_name”:”Aasif”,”email”:”aasif335253@gmail.com”,”user_name”:”aasif335253@gmail.com”,”full_name”:”Sheikh Aasif”,”meta_name”:”Sheikh Aasif <aasif335253@gmail.com>”,”email_verified”:”0″,”mobile_verified”:”0″}

2Ticket reply
This webhook is triggered when an agent/admin creates a new ticket thread (reply).

Payload:

EventTicket reply
replied_by{“id”:”1″,”first_name”:”Mohammad”,”last_name”:”Asif”,”email”:”mohammad.asif@ladybirdweb.com”,”user_name”:”Mohammad_Asif”,”full_name”:”Mohammad Asif”,”meta_name”:”Mohammad Asif <mohammad.asif@ladybirdweb.com>”,”email_verified”:”0″,”mobile_verified”:”0″}
thread{“ticket_id”:”10″,”user_id”:”1″,”poster”:”support”,”body”:”<p>reply</p>\n<blockquote>On June 16, 2022 01:22 pm <strong>Sheikh Aasif</strong> wrote :\n<figure>\n<p>ticket create</p>\n</figure>\n</blockquote>”,”response_time”:”21″,”is_internal”:”0″,”thread_type”:”first_reply”,”updated_at”:”2022-06-16 08:13:25″,”created_at”:”2022-06-16 08:13:25″,”id”:”22″,”ticket”:{“id”:”10″,”ticket_number”:”HDSK-AAAA-0010″,”user_id”:”2″,”dept_id”:”2″,”priority_id”:”1″,”sla”:”1″,”help_topic_id”:”1″,”status”:”9″,”rating”:”0″,”ratingreply”:”0″,”flags”:”0″,”ip_address”:”0″,”assigned_to”:”1″,”lock_by”:”0″,”source”:”1″,”isoverdue”:”0″,”reopened”:”0″,”isanswered”:”0″,”html”:”0″,”is_deleted”:”0″,”closed”:”0″,”is_transferred”:”0″,”transferred_at”:”0000-00-00 00:00:00″,”created_at”:”2022-06-16 07:52:32″,”updated_at”:”2022-06-16 08:13:25″,”type”:”0″,”location_id”:”0″,”creator_id”:”1″,”is_manual_duedate”:”0″,”resolution_due_by”:”2022-06-16 12:52:32″,”thread_count”:”2″,”attachment_count”:”0″,”poster”:”support”,”encrypted_id”:”eyJpdiI6InZpN0NoUW1Ob2VGcVVjelZuVDFUTWc9PSIsInZhbHVlIjoiU1QxM1gydVJsbFA0cEpKZTB0MlRZUT09IiwibWFjIjoiYjcyN2Y2Y2YwOWNiZGNkYmY2ZGEwNmZmZTQ3NjY5MWU1NTQyMzc4ZjczMTAyYzUzYzAxZTQ3NzIxOTdmOWMxMSJ9″,”strictly_thread_count”:”2″,”first_thread”:{“id”:”14″,”ticket_id”:”10″,”user_id”:”2″,”poster”:”client”,”reply_rating”:”0″,”rating_count”:”0″,”is_internal”:”0″,”title”:”creating a ticket”,”body”:”<p>ticket create</p>”,”format”:””,”ip_address”:””,”created_at”:”2022-06-16 07:52:32″,”updated_at”:”2022-06-16 07:52:32″}},”user”:{“id”:”1″,”user_name”:”Mohammad_Asif”,”first_name”:”Mohammad”,”last_name”:”Asif”,”email”:”mohammad.asif@ladybirdweb.com”,”active”:”1″,”is_delete”:”0″,”country_code”:””,”mobile”:””,”agent_sign”:””,”account_type”:””,”account_status”:””,”primary_dpt”:”1″,”agent_tzone”:”81″,”daylight_save”:””,”limit_access”:””,”directory_listing”:””,”vacation_mode”:””,”company”:””,”role”:”admin”,”profile_pic”:”https://secure.gravatar.com/avatar/941c192ece664c957da927fb44cdfb99?s=80&r=g&d=mm”,”created_at”:”2022-03-22 11:13:00″,”updated_at”:”2022-03-22 11:15:19″,”is_2fa_enabled”:”0″,”delete_account_requested”:”0″,”processing_account_disabling”:”0″,”notify_unrecognized_login”:”0″,”is_login”:”1″,”not_accept_ticket”:”0″,”phone_country_code”:””,”full_name”:”Mohammad Asif”,”meta_name”:”Mohammad Asif <mohammad.asif@ladybirdweb.com>”,”email_verified”:”1″,”mobile_verified”:”0″}}

3. Ticket status updated
When a ticket’s status changes, this webhook is triggered.

Payload:

EventTicket status updated
ticket{“id”:”9″,”ticket_number”:”HDSK-AAAA-0009″,”user_id”:”2″,”dept_id”:”1″,”priority_id”:”1″,”sla”:”1″,”help_topic_id”:”1″,”status”:”9″,”rating”:”0″,”ratingreply”:”0″,”flags”:”0″,”ip_address”:”0″,”lock_by”:”0″,”source”:”1″,”isoverdue”:”0″,”reopened”:”0″,”isanswered”:”0″,”html”:”0″,”is_deleted”:”0″,”closed”:”0″,”is_transferred”:”0″,”transferred_at”:”0000-00-00 00:00:00″,”duedate”:”2022-06-16 12:49:49″,”created_at”:”2022-06-16 07:49:49″,”updated_at”:”2022-06-16 07:56:56″,”type”:”0″,”location_id”:”0″,”creator_id”:”1″,”response_due_by”:”2022-06-16 12:49:49″,”is_manual_duedate”:”0″,”resolution_due_by”:”2022-06-16 12:49:49″,”thread_count”:”1″,”attachment_count”:”0″,”poster”:”client”,”encrypted_id”:”eyJpdiI6IkhrOHp0Y0dNUkw3cGp1K3NKU2R3WHc9PSIsInZhbHVlIjoiSTNOcHNkRUM3XC9RbUtqZmptc2xTcXc9PSIsIm1hYyI6ImVmOWYwYzhjODdmODdkZmEwODIxNDBmNjNiMWZmYWEwMGM1YzBkOTU5NDQ5NGI1YjFmMWE4NWNjNGRmZWVhZmIifQ==”,”strictly_thread_count”:”1″,”statuses”:{“id”:”1″,”name”:”Open”,”message”:”Ticket has been Reopened by {!!$user!!}”,”created_at”:”2022-03-22 11:13:00″,”updated_at”:”2022-03-22 11:13:00″,”visibility_for_client”:”1″,”allow_client”:”1″,”visibility_for_agent”:”1″,”purpose_of_status”:”1″,”send_email”:{“client”:”1″,”admin”:”0″,”assigned_agent_team”:”1″},”halt_sla”:”0″,”order”:”1″,”icon”:”fa fa-clock-o”,”icon_color”:”#32c777″,”default”:”1″,”send_sms”:”0″,”auto_close”:”1″,”comment”:”0″,”under_deletion”:”0″,”type”:{“id”:”1″,”name”:”open”,”created_at”:”2022-03-22 11:13:00″,”updated_at”:”2022-03-22 11:13:00″}},”first_thread”:{“id”:”13″,”ticket_id”:”9″,”user_id”:”2″,”poster”:”client”,”reply_rating”:”0″,”rating_count”:”0″,”is_internal”:”0″,”title”:”Unaccessable mails beyond the first page”,”body”:”<p>Test Mail1</p>”,”format”:””,”ip_address”:””,”created_at”:”2022-06-16 07:49:50″,”updated_at”:”2022-06-16 07:49:50″}}

4. Ticket department updated
This webhook is triggered when the department of a ticket is updated/edited/changed.

Payload:

EventTicket department updated
thread{“id”:”9″,”ticket_number”:”HDSK-AAAA-0009″,”user_id”:”2″,”dept_id”:”3″,”priority_id”:”1″,”sla”:”1″,”help_topic_id”:”1″,”status”:”9″,”rating”:”0″,”ratingreply”:”0″,”flags”:”0″,”ip_address”:”0″,”lock_by”:”0″,”source”:”1″,”isoverdue”:”0″,”reopened”:”0″,”isanswered”:”0″,”html”:”0″,”is_deleted”:”0″,”closed”:”0″,”is_transferred”:”0″,”transferred_at”:”0000-00-00 00:00:00″,”created_at”:”2022-06-16 07:49:49″,”updated_at”:”2022-06-16 08:00:38″,”type”:”0″,”location_id”:”0″,”creator_id”:”1″,”is_manual_duedate”:”0″,”resolution_due_by”:”2022-06-16 12:49:49″,”thread_count”:”1″,”attachment_count”:”0″,”poster”:”client”,”encrypted_id”:”eyJpdiI6ImJ5SXoxbklmOUpJdDZvajU4TTJaQWc9PSIsInZhbHVlIjoiZjZ3ODF2RThXWkRPWjYrdFg1WXY0QT09IiwibWFjIjoiYzE5MGE1YWZmMTNkY2Y1NGNhYWI2MWNkNmFiZTMzYTI3NzdhMTg1NDhlMzJmNzc3ZDI5ZWNiZGMwNTViYmQ1NyJ9″,”strictly_thread_count”:”1″,”statuses”:{“id”:”9″,”name”:”On hold”,”message”:”<p>On hold</p>”,”created_at”:”2022-06-16 07:56:15″,”updated_at”:”2022-06-16 07:56:15″,”visibility_for_client”:”1″,”allow_client”:”1″,”visibility_for_agent”:”0″,”purpose_of_status”:”1″,”halt_sla”:”1″,”order”:”12″,”icon”:”fas fa-bullseye”,”icon_color”:”#000000″,”send_sms”:”0″,”comment”:”1″,”under_deletion”:”0″,”type”:{“id”:”1″,”name”:”open”,”created_at”:”2022-03-22 11:13:00″,”updated_at”:”2022-03-22 11:13:00″}},”first_thread”:{“id”:”13″,”ticket_id”:”9″,”user_id”:”2″,”poster”:”client”,”reply_rating”:”0″,”rating_count”:”0″,”is_internal”:”0″,”title”:”Unaccessable mails beyond the first page”,”body”:”<p>Test Mail1</p>”,”format”:””,”ip_address”:””,”created_at”:”2022-06-16 07:49:50″,”updated_at”:”2022-06-16 07:49:50″}}

5. Ticket assigned
This webhook is triggered when a ticket is assigned to an agent or a team.

Payload:

EventTicket assigned
ticket{“id”:”10″,”ticket_number”:”HDSK-AAAA-0010″,”user_id”:”2″,”dept_id”:”2″,”priority_id”:”1″,”sla”:”1″,”help_topic_id”:”1″,”status”:”9″,”rating”:”0″,”ratingreply”:”0″,”flags”:”0″,”ip_address”:”0″,”assigned_to”:”1″,”lock_by”:”0″,”source”:”1″,”isoverdue”:”0″,”reopened”:”0″,”isanswered”:”0″,”html”:”0″,”is_deleted”:”0″,”closed”:”0″,”is_transferred”:”0″,”transferred_at”:”0000-00-00 00:00:00″,”created_at”:”2022-06-16 07:52:32″,”updated_at”:”2022-06-16 08:05:20″,”type”:”0″,”location_id”:”0″,”creator_id”:”1″,”is_manual_duedate”:”0″,”resolution_due_by”:”2022-06-16 12:52:32″,”thread_count”:”1″,”attachment_count”:”0″,”poster”:”client”,”encrypted_id”:”eyJpdiI6IlwvQnRJN2R2ZndBZFdVazM0aEpaQ1JnPT0iLCJ2YWx1ZSI6InI1OXlEUmNUZjJ1MWNZTncra2ZmN2c9PSIsIm1hYyI6IjhkYTkxMGJhODU5MjQzNTFlMGNiZDkzYzkwNjFkZTA2YmQyZTI3NDY5NzdlZWY3ODQ2MGJjOGQ3N2RiNGIyNzQifQ==”,”strictly_thread_count”:”1″,”first_thread”:{“id”:”14″,”ticket_id”:”10″,”user_id”:”2″,”poster”:”client”,”reply_rating”:”0″,”rating_count”:”0″,”is_internal”:”0″,”title”:”creating a ticket”,”body”:”<p>ticket create</p>”,”format”:””,”ip_address”:””,”created_at”:”2022-06-16 07:52:32″,”updated_at”:”2022-06-16 07:52:32″}}