freshworks · AsyncAPI Specification

Freshworks Webhook Events

Version 1.0

Freshworks products support webhook callbacks that notify external applications when specific events occur within the helpdesk, service desk, CRM, and messaging platforms. Webhooks are configured through automation rules and workflow automators, triggering HTTP POST requests to registered callback URLs when events such as ticket creation, conversation updates, and status changes occur. Rate limits of 1000 webhook requests per hour apply across all Freshworks products.

View Spec View on GitHub AsyncAPIWebhooksEvents

Channels

/freshdesk/ticket-created
publish onFreshdeskTicketCreated
Freshdesk ticket created event
Triggered when a new ticket is created in Freshdesk. Configured through ticket creation automation rules.
/freshdesk/ticket-updated
publish onFreshdeskTicketUpdated
Freshdesk ticket updated event
Triggered when an existing ticket is updated in Freshdesk. This includes status changes, assignment changes, priority updates, and custom field modifications.
/freshservice/ticket-created
publish onFreshserviceTicketCreated
Freshservice ticket created event
Triggered when a new ticket is created in Freshservice. Configured through the Workflow Automator.
/freshservice/ticket-updated
publish onFreshserviceTicketUpdated
Freshservice ticket updated event
Triggered when an existing ticket is updated in Freshservice, including status changes, assignment updates, and field modifications.
/freshchat/message-create
publish onFreshchatMessageCreate
Freshchat message created event
Triggered when a new message is sent in a Freshchat conversation, whether by a user, agent, or bot.
/freshchat/conversation-assignment
publish onFreshchatConversationAssignment
Freshchat conversation assignment event
Triggered when a conversation is assigned or reassigned to an agent or group in Freshchat.
/freshchat/conversation-resolution
publish onFreshchatConversationResolution
Freshchat conversation resolution event
Triggered when a conversation is resolved in Freshchat.
/freshchat/conversation-reopen
publish onFreshchatConversationReopen
Freshchat conversation reopen event
Triggered when a previously resolved conversation is reopened in Freshchat.

Messages

FreshdeskTicketEvent
Freshdesk Ticket Webhook Event
Payload sent by Freshdesk when a ticket event occurs via automation rule webhooks.
FreshserviceTicketEvent
Freshservice Ticket Webhook Event
Payload sent by Freshservice when a ticket event occurs via the Workflow Automator.
FreshchatMessageEvent
Freshchat Message Webhook Event
Payload sent by Freshchat when a new message is created in a conversation.
FreshchatConversationEvent
Freshchat Conversation Webhook Event
Payload sent by Freshchat when a conversation lifecycle event occurs such as assignment, resolution, or reopening.

Servers

https
freshdeskWebhook {callbackUrl}
Freshdesk sends webhook POST requests to the callback URL configured in automation rules. The URL is set by the customer.
https
freshserviceWebhook {callbackUrl}
Freshservice sends webhook POST requests to the callback URL configured in the Workflow Automator.
https
freshchatWebhook {callbackUrl}
Freshchat sends webhook POST requests to the registered callback URL when messaging events occur.

AsyncAPI Specification

Raw ↑
asyncapi: 2.6.0
info:
  title: Freshworks Webhook Events
  description: >-
    Freshworks products support webhook callbacks that notify external
    applications when specific events occur within the helpdesk, service
    desk, CRM, and messaging platforms. Webhooks are configured through
    automation rules and workflow automators, triggering HTTP POST requests
    to registered callback URLs when events such as ticket creation,
    conversation updates, and status changes occur. Rate limits of 1000
    webhook requests per hour apply across all Freshworks products.
  version: '1.0'
  contact:
    name: Freshworks Support
    url: https://support.freshworks.com/
  license:
    name: Proprietary
servers:
  freshdeskWebhook:
    url: '{callbackUrl}'
    protocol: https
    description: >-
      Freshdesk sends webhook POST requests to the callback URL configured
      in automation rules. The URL is set by the customer.
    variables:
      callbackUrl:
        description: The customer-configured webhook callback URL.
  freshserviceWebhook:
    url: '{callbackUrl}'
    protocol: https
    description: >-
      Freshservice sends webhook POST requests to the callback URL
      configured in the Workflow Automator.
    variables:
      callbackUrl:
        description: The customer-configured webhook callback URL.
  freshchatWebhook:
    url: '{callbackUrl}'
    protocol: https
    description: >-
      Freshchat sends webhook POST requests to the registered callback
      URL when messaging events occur.
    variables:
      callbackUrl:
        description: The customer-configured webhook callback URL.
channels:
  /freshdesk/ticket-created:
    description: >-
      Triggered when a new ticket is created in Freshdesk. Configured
      through ticket creation automation rules.
    publish:
      operationId: onFreshdeskTicketCreated
      summary: Freshdesk ticket created event
      message:
        $ref: '#/components/messages/FreshdeskTicketEvent'
  /freshdesk/ticket-updated:
    description: >-
      Triggered when an existing ticket is updated in Freshdesk. This
      includes status changes, assignment changes, priority updates,
      and custom field modifications.
    publish:
      operationId: onFreshdeskTicketUpdated
      summary: Freshdesk ticket updated event
      message:
        $ref: '#/components/messages/FreshdeskTicketEvent'
  /freshservice/ticket-created:
    description: >-
      Triggered when a new ticket is created in Freshservice. Configured
      through the Workflow Automator.
    publish:
      operationId: onFreshserviceTicketCreated
      summary: Freshservice ticket created event
      message:
        $ref: '#/components/messages/FreshserviceTicketEvent'
  /freshservice/ticket-updated:
    description: >-
      Triggered when an existing ticket is updated in Freshservice,
      including status changes, assignment updates, and field modifications.
    publish:
      operationId: onFreshserviceTicketUpdated
      summary: Freshservice ticket updated event
      message:
        $ref: '#/components/messages/FreshserviceTicketEvent'
  /freshchat/message-create:
    description: >-
      Triggered when a new message is sent in a Freshchat conversation,
      whether by a user, agent, or bot.
    publish:
      operationId: onFreshchatMessageCreate
      summary: Freshchat message created event
      message:
        $ref: '#/components/messages/FreshchatMessageEvent'
  /freshchat/conversation-assignment:
    description: >-
      Triggered when a conversation is assigned or reassigned to an
      agent or group in Freshchat.
    publish:
      operationId: onFreshchatConversationAssignment
      summary: Freshchat conversation assignment event
      message:
        $ref: '#/components/messages/FreshchatConversationEvent'
  /freshchat/conversation-resolution:
    description: >-
      Triggered when a conversation is resolved in Freshchat.
    publish:
      operationId: onFreshchatConversationResolution
      summary: Freshchat conversation resolution event
      message:
        $ref: '#/components/messages/FreshchatConversationEvent'
  /freshchat/conversation-reopen:
    description: >-
      Triggered when a previously resolved conversation is reopened
      in Freshchat.
    publish:
      operationId: onFreshchatConversationReopen
      summary: Freshchat conversation reopen event
      message:
        $ref: '#/components/messages/FreshchatConversationEvent'
components:
  messages:
    FreshdeskTicketEvent:
      name: FreshdeskTicketEvent
      title: Freshdesk Ticket Webhook Event
      summary: >-
        Payload sent by Freshdesk when a ticket event occurs via
        automation rule webhooks.
      contentType: application/json
      payload:
        $ref: '#/components/schemas/FreshdeskTicketPayload'
    FreshserviceTicketEvent:
      name: FreshserviceTicketEvent
      title: Freshservice Ticket Webhook Event
      summary: >-
        Payload sent by Freshservice when a ticket event occurs via
        the Workflow Automator.
      contentType: application/json
      payload:
        $ref: '#/components/schemas/FreshserviceTicketPayload'
    FreshchatMessageEvent:
      name: FreshchatMessageEvent
      title: Freshchat Message Webhook Event
      summary: >-
        Payload sent by Freshchat when a new message is created in a
        conversation.
      contentType: application/json
      payload:
        $ref: '#/components/schemas/FreshchatMessagePayload'
    FreshchatConversationEvent:
      name: FreshchatConversationEvent
      title: Freshchat Conversation Webhook Event
      summary: >-
        Payload sent by Freshchat when a conversation lifecycle event
        occurs such as assignment, resolution, or reopening.
      contentType: application/json
      payload:
        $ref: '#/components/schemas/FreshchatConversationPayload'
  schemas:
    FreshdeskTicketPayload:
      type: object
      description: >-
        Webhook payload for Freshdesk ticket events. The exact fields
        included depend on the automation rule configuration.
      properties:
        freshdesk_webhook:
          type: object
          description: Wrapper object for the webhook data.
          properties:
            ticket_id:
              type: integer
              description: ID of the ticket.
            ticket_subject:
              type: string
              description: Subject of the ticket.
            ticket_description:
              type: string
              description: Description text of the ticket.
            ticket_status:
              type: string
              description: Status name of the ticket.
            ticket_priority:
              type: string
              description: Priority name of the ticket.
            ticket_source:
              type: string
              description: Source channel of the ticket.
            ticket_type:
              type: string
              description: Type of the ticket.
            ticket_requester_name:
              type: string
              description: Name of the requester.
            ticket_requester_email:
              type: string
              format: email
              description: Email of the requester.
            ticket_agent_name:
              type: string
              description: Name of the assigned agent.
            ticket_agent_email:
              type: string
              format: email
              description: Email of the assigned agent.
            ticket_group_name:
              type: string
              description: Name of the assigned group.
            ticket_company_name:
              type: string
              description: Name of the associated company.
            ticket_product_name:
              type: string
              description: Name of the associated product.
            ticket_tags:
              type: string
              description: Comma-separated list of ticket tags.
            ticket_due_by_time:
              type: string
              format: date-time
              description: Due by timestamp.
            ticket_created_at:
              type: string
              format: date-time
              description: Ticket creation timestamp.
            ticket_updated_at:
              type: string
              format: date-time
              description: Last update timestamp.
            ticket_url:
              type: string
              format: uri
              description: URL to view the ticket in Freshdesk.
    FreshserviceTicketPayload:
      type: object
      description: >-
        Webhook payload for Freshservice ticket events. Fields are
        determined by the Workflow Automator configuration.
      properties:
        freshservice_webhook:
          type: object
          description: Wrapper object for the webhook data.
          properties:
            ticket_id:
              type: integer
              description: ID of the ticket.
            ticket_subject:
              type: string
              description: Subject of the ticket.
            ticket_description:
              type: string
              description: Description of the ticket.
            ticket_status:
              type: string
              description: Status name.
            ticket_priority:
              type: string
              description: Priority name.
            ticket_type:
              type: string
              description: Ticket type (Incident, Service Request).
            ticket_source:
              type: string
              description: Source channel.
            ticket_requester_name:
              type: string
              description: Name of the requester.
            ticket_requester_email:
              type: string
              format: email
              description: Email of the requester.
            ticket_agent_name:
              type: string
              description: Name of the assigned agent.
            ticket_group_name:
              type: string
              description: Name of the assigned group.
            ticket_department_name:
              type: string
              description: Name of the department.
            ticket_category:
              type: string
              description: Category of the ticket.
            ticket_sub_category:
              type: string
              description: Sub-category.
            ticket_due_by_time:
              type: string
              format: date-time
              description: Due by timestamp.
            ticket_created_at:
              type: string
              format: date-time
              description: Ticket creation timestamp.
            ticket_updated_at:
              type: string
              format: date-time
              description: Last update timestamp.
            ticket_url:
              type: string
              format: uri
              description: URL to view the ticket in Freshservice.
    FreshchatMessagePayload:
      type: object
      description: >-
        Webhook payload for Freshchat message creation events.
      properties:
        actor:
          type: object
          description: The actor who triggered the event.
          properties:
            actor_type:
              type: string
              description: Type of actor (user, agent, system).
              enum:
                - user
                - agent
                - system
            actor_id:
              type: string
              description: ID of the actor.
        action:
          type: string
          description: The action that triggered the event.
          const: message_create
        action_time:
          type: string
          format: date-time
          description: Timestamp when the action occurred.
        data:
          type: object
          description: Event data containing the message details.
          properties:
            message:
              type: object
              description: The message that was created.
              properties:
                message_id:
                  type: string
                  description: ID of the message.
                conversation_id:
                  type: string
                  description: ID of the conversation.
                message_type:
                  type: string
                  description: Type of message (normal, private).
                  enum:
                    - normal
                    - private
                message_parts:
                  type: array
                  description: Parts composing the message.
                  items:
                    type: object
                    properties:
                      text:
                        type: object
                        properties:
                          content:
                            type: string
                            description: Text content.
                app_id:
                  type: string
                  description: ID of the application.
                channel_id:
                  type: string
                  description: ID of the channel.
                created_time:
                  type: string
                  format: date-time
                  description: Message creation timestamp.
    FreshchatConversationPayload:
      type: object
      description: >-
        Webhook payload for Freshchat conversation lifecycle events
        including assignment, resolution, and reopening.
      properties:
        actor:
          type: object
          description: The actor who triggered the event.
          properties:
            actor_type:
              type: string
              description: Type of actor (user, agent, system).
              enum:
                - user
                - agent
                - system
            actor_id:
              type: string
              description: ID of the actor.
        action:
          type: string
          description: The action that triggered the event.
          enum:
            - conversation_assignment
            - conversation_resolution
            - conversation_reopen
        action_time:
          type: string
          format: date-time
          description: Timestamp when the action occurred.
        data:
          type: object
          description: Event data containing conversation details.
          properties:
            conversation:
              type: object
              description: The conversation involved in the event.
              properties:
                conversation_id:
                  type: string
                  description: ID of the conversation.
                app_id:
                  type: string
                  description: ID of the application.
                channel_id:
                  type: string
                  description: ID of the channel.
                status:
                  type: string
                  description: Current status of the conversation.
                  enum:
                    - new
                    - assigned
                    - resolved
                    - reopened
                assigned_agent_id:
                  type: string
                  description: ID of the assigned agent.
                assigned_group_id:
                  type: string
                  description: ID of the assigned group.
            assignment:
              type: object
              description: >-
                Assignment details (present only for assignment events).
              properties:
                from_agent_id:
                  type: string
                  description: Previous agent ID.
                to_agent_id:
                  type: string
                  description: New agent ID.
                from_group_id:
                  type: string
                  description: Previous group ID.
                to_group_id:
                  type: string
                  description: New group ID.