> ## Documentation Index
> Fetch the complete documentation index at: https://developers.tally.so/llms.txt
> Use this file to discover all available pages before exploring further.

# Creating webhooks

> Creates a new webhook for a form to receive form events.



## OpenAPI

````yaml POST /webhooks
openapi: 3.0.1
info:
  title: OpenAPI
  description: Tally's API
  license:
    name: MIT
  version: 1.0.0
servers:
  - url: https://api.tally.so
security:
  - bearerAuth: []
paths:
  /webhooks:
    post:
      tags:
        - Webhooks
      summary: Create a webhook
      description: Creates a new webhook for a form to receive form events.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                formId:
                  type: string
                  description: The ID of the form to create the webhook for
                url:
                  type: string
                  description: The URL to send webhook events to
                signingSecret:
                  type: string
                  description: Optional secret used to sign webhook payloads
                  nullable: true
                httpHeaders:
                  type: array
                  description: Optional custom HTTP headers to include in webhook requests
                  nullable: true
                  items:
                    type: object
                    properties:
                      name:
                        type: string
                        description: The header name
                      value:
                        type: string
                        description: The header value
                    required:
                      - name
                      - value
                eventTypes:
                  type: array
                  description: Types of events to receive
                  items:
                    $ref: '#/components/schemas/EventType'
                externalSubscriber:
                  type: string
                  description: Optional identifier for the external subscriber
              required:
                - formId
                - url
                - eventTypes
      responses:
        '201':
          description: Webhook created successfully
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: string
                  url:
                    type: string
                  eventTypes:
                    type: array
                    items:
                      $ref: '#/components/schemas/EventType'
                  isEnabled:
                    type: boolean
                  createdAt:
                    type: string
                    format: date-time
        '400':
          description: Invalid request body
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
      security:
        - bearerAuth: []
components:
  schemas:
    EventType:
      type: string
      enum:
        - FORM_RESPONSE
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer

````