Collections

Gist Webhooks

By Jitta Rao

updated 2 months ago

Webhooks and Gist

In Gist with the help of webhooks, we will provide you with real-time information immediately. If any changes happen in the website like a user filled a form or had a conversation with an agent, each and every piece of information will be delivered to you as it happens. This makes the process more efficient, unlike other APIs where you need to call for data frequently in order to get it real-time.

Who has access to webhooks

Webhooks feature is available only for the customers who have subscribed to our PRO plan.

How to access and set up webhooks

  1. Webhooks is available in under API and Integration tab in the settings page.
  2. Click on the “New Webhook” button to create a new webhook
  3. Enter the webhook name, endpoint URL and webhook secret
  4. Turn On the status to make the webhooks active
  5. Choose the topics from the categories such as User, Conversation, Event and Meeting for which you need the webhook feature
  6. Click “Save Changes” to save the webhook

Webhooks supported topics

You can retrieve the data in JSON format. Webhooks are available for the following topics

Topic - Description

1. User Created - When a new user gets created

2. Lead Created - When a new lead gets created

3. User Deleted - When an existing user is deleted

4. Lead Deleted - When an existing lead is deleted

5. Contact Tagged - When a contact gets tagged

6. Contact Untagged - When a contact gets untagged

7. Custom Attribute Updated - When a custom attribute is updated

8. Contact Email Updated - When the contact email is updated

9. Contact Unsubscribed Emails - When a contact unsubscribed emails

10. Contact Initiated Conversation - When we receive a new message from a contact

11. Conversation Assigned - When a conversation gets assigned to a teammate

12. Conversation Opened - When a conversation is opened

13. Conversation Closed - When a conversation is closed

14. Message From Contact - When a contact sends a message in chat

15. Teammate Replied - When a teammate replied in chat

16. Note Added - When a teammate add a note to the conversation

17. Contact Subscribed Campaign - When the contact subscribed for a campaign

18. Contact Unsubscribed Campaign - When the contact unsubscribed for a campaign

19. New Page Visit - When there is a new page visit

20. Contact Performed Event - When a contact performed an event

21. Lead Submitted Email - When a lead submits an Email

22. Event Created - When an event is created

23. Contact Submitted Form - When a contact submits a form

24. Meeting Scheduled - When a meeting is scheduled

25. Meeting Cancelled - When a meeting is canceled

26. Meeting Rescheduled - When a meeting is rescheduled


Handling Notification

When you setup a subscription you will receive notifications on your chosen topics. How you handle those notifications, i.e. the HTTP status code returned, will determine the subsequent state of that subscription. Please see below for a list of how a subscription will respond to these status codes.

Response Code - Description - Action

2XX - Success - Timeout in 10 seconds

410 - Gone - Resource no longer available - The webhook will be disabled

4XX*,5XX - Client or service error - 1st retry in 5 Minutes. 2nd retry in 1 Hour. 3rd retry in 3 Hours

Validation of webhooks events

Only for the Gist users who want signed webhooks, this function will be available. They need to enter the webhook secret in the required text box present in the webhook configuration page. Leave it blank if you don’t want it. We do this so that you can verify the notification came from Gist by decoding the signature.

The HTTP request will contain an X-Hub-Signature header which contains the SHA1 signature of the request payload, using the webhook secret as the key, and prefixed with sha1=. Your callback endpoint can verify this signature to validate the integrity and origin of the payload

Please note that the calculation is made on the escaped Unicode version of the payload, with lower case hex digits. For example, the string äöå will be escaped to \u00e4\u00f6\u00e5. The calculation also escapes / to \/, < to \u003C, % to \u0025 and @ to \u0040. If you just calculate against the decoded bytes, you will end up with a different signature.

Webhook data

User Created

User-created webhook will trigger when a user is created with Gist. We can be identified the user created webhook by "event_type":"user_created" and the created user as "user" with "type":"user" in request parameter of webhook post request to endpoint URL.

Lead Created

Lead created webhook will trigger when a lead is created with Gist. We can be identified the lead created webhook by "event_type":"lead_created" and the created user as "user" with "type":"lead" in request parameter of webhook post request to endpoint URL.

User Deleted

User deleted webhook will trigger when a user is deleted in Gist. We can be identified the user deleted webhook by "event_type":"user_deleted" and the deleted user as "user" with "type":"user" in request parameter of webhook post request to endpoint URL.

Lead Deleted

Lead deleted webhook will trigger when a lead is deleted in Gist. We can be identified the lead deleted webhook by "event_type":"lead_deleted" and the deleted lead as "user" with "type":"lead" in request parameter of webhook post request to endpoint URL.

Contact Tagged

Contact tagged webhook will trigger when a contact(lead/user) is tagged in Gist. We can be identified the contact tagged webhook by "event_type":"contact_tagged" and the added tag as "added_tag" in request parameter of webhook post request to endpoint URL.

Contact Untagged

Contact untagged webhook will trigger when a contact(lead/user) is untagged in Gist. We can be identified the contact untagged webhook by "event_type":"contact_untagged" and the removed tag as "removed_tag" in request parameter of webhook post request to endpoint URL.

Custom Attribute Updated

Custom Attribute Updated webhook will trigger when the custom attribute of contact(lead/user) is updated in Gist. We can be identified the custom attribute updated webhook by "event_type":"custom_attribute_updated" and the updated custom attributes in "custom_properties" in request parameter of webhook post request to endpoint URL.

Contact Email Updated

Contact email updated webhook will trigger when the email of contact(lead/user) is updated in Gist. We can be identified the Contact email updated webhook by "event_type":"contact_email_updated" and the updated email in "email" of "user" in request parameter of webhook post request to endpoint URL.

Contact Unsubscribed Emails

Contact unsubscribed emails webhook will trigger when the contact(lead/user) is unsubscribed from emails in Gist. We can be identified the Contact unsubscribed emails webhook by "event_type":"contact_unsubscribed_email" and the contact unsubscribed emails in "unsubscribed_from_emails" of "user" in request parameter of webhook post request to endpoint URL.

Contact Initiated Conversation

Contact initiated conversation webhook will trigger when the contact(lead/user) started a new chat in Gist. We can be identified the Contact initiated conversation webhook by "event_type":"contact_initiated_conversation" and the contact initiated conversation as "conversation" in the request parameter of webhook post request to endpoint URL.

Conversation Assigned

Conversation assigned webhook will trigger when the conversation is assigned to some agent/team in Gist. We can be identified the conversation assigned webhook by "event_type":"conversation_assigned" and the agent/team to whom the conversation assigned in "assigned_to" of "conversation" in request parameter of webhook post request to endpoint URL.

Conversation Opened

Conversation opened webhook will trigger when the conversation is opened in Gist. We can be identified the conversation opened webhook by "event_type":"conversation_opened" and the conversation opened with "status" of "conversation" in request parameter of webhook post request to endpoint URL.

Conversation Closed

Conversation closed webhook will trigger when the conversation is closed in Gist. We can be identified the conversation closed webhook by "event_type":"conversation_closed" and the conversation closed with "status" of "conversation" in the request parameter of webhook post request to endpoint URL.

Message From Contact

Message from contact webhook will trigger when the contact(lead/user) send a message to a conversation in Gist. We can be identified the message from contact webhook by "event_type":"message_from_contact", the message from contact as "message" and the contact as a user in request parameter of webhook post request to endpoint URL.

Teammate Replied

Teammate replied webhook will trigger when the teammate replied for a conversation in Gist. We can be identified the teammate replied webhook by "event_type":"teammate_replied", the teammate replied message as "message" and the teammate as "agent" in request parameter of webhook post request to endpoint URL.

Note Added

Note added webhook will trigger when the teammate added a note in a conversation in Gist. We can be identified the note added webhook by "event_type":"note_added", the note message as "message" and the teammate as "agent" in request parameter of webhook post request to endpoint URL.

Contact Subscribed Campaign

Contact subscribed campaign webhook will trigger when the contact(lead/user) subscribed to a campaign in Gist. We can be identified the contact subscribed campaign webhook by "event_type":"contact_subscribed_campaign" and the subscribed campaign in "campaign" of "user" in request parameter of webhook post request to endpoint URL.

Contact Unsubscribed Campaign

Contact unsubscribed campaign webhook will trigger when the contact(lead/user) unsubscribed to a campaign in Gist. We can be identified the contact unsubscribed campaign webhook by "event_type":"contact_unsubscribed_campaign" and the unsubscribed campaign in "campaign" of "user" in request parameter of webhook post request to endpoint URL.

Contact Performed Event

Contact performed event webhook will trigger when the contact(lead/user) performed a defined event in Gist. We can be identified the contact performed event webhook by "event_type":"contact_performed_event" and the performed event as "event" of "user" in request parameter of webhook post request to endpoint URL.

Lead Submitted Email

Lead submitted email webhook will trigger when the lead submitted email in Gist. We can be identified the lead submitted email webhook by "event_type":"lead_submitted_email" and the submitted email in "email" of "user" in request parameter of webhook post request to endpoint URL.

Event Created

Event created webhook will trigger when the new event is created in Gist. We can be identified the event created webhook by "event_type":"event_created" and the created event as "event" in the request parameter of webhook post request to endpoint URL.

Contact Submitted Form

Contact submitted form webhook will trigger when the contact submitted a form in Gist, based on optin method of the submitted form. We can be identified the contact submitted form webhook by "event_type":"contact_submitted_form" and the submitted form in "submitted_form" of "user" in request parameter of webhook post request to endpoint URL.

Meeting Scheduled

Meeting scheduled webhook will trigger when a meeting is scheduled with agent in Gist. We can be identified the meeting scheduled webhook by "event_type":"meeting_scheduled" and the scheduled meeting as "meeting" in request parameter of webhook post request to endpoint URL.

Meeting Cancelled

Meeting canceled webhook will trigger when a meeting is canceled with agent in Gist. We can be identified the meeting canceled webhook by "event_type":"meeting_cancelled" and the canceled meeting as "meeting" in request parameter of webhook post request to endpoint URL.

Meeting Rescheduled

Meeting rescheduled webhook will trigger when a meeting is rescheduled with agent in Gist. We can be identified the meeting rescheduled webhook by "event_type":"meeting_rescheduled" and the rescheduled meeting as "meeting" in request parameter of webhook post request to endpoint URL.


Need Help?

If you have any further questions, please start a Live Chat. Just "Click" on the Chat Icon in the lower right corner to talk with our support team.

Did this answer your question?