Send Tally form responses to a URL or web application

Webhooks are used to send notifications to a destination (URL), triggered by an event. Developers can use webhooks to send Tally form submissions to a URL or third-party web application.

The event used to trigger Tally webhooks is a new form submission. When a respondent submits a Tally form a notification containing the form response data is being sent to your URL in JSON format.


Webhooks are available for free to all Tally users. If you're looking for a non-technical way to sync form submissions from Tally to other tools, our Zapier or Integromat integration will help you out!


Add a webhook

Publish your form and go to the Integrations tab โ†’ Webhooks

Click Connect and add the URL of your endpoint. Connect again to activate your webhook.

Manage webhooks

You will see your active URLs in your dashboard. You can connect unlimited webhook URLs and pause them by clicking the toggle on the right.

Click ๐Ÿ•” next to your active webhook to see the events log. This log contains all requests made to your webhook endpoint. Click ๐Ÿ–Š to edit or ๐Ÿ—‘ to remove the webhook.

Example webhook event

This example event contains every type of field that Tally supports. You can also use this free tool to test the requests to your webhook endpoint.

{
    eventId: '75bd4876-d5f1-4771-9fb6-251c430acbd5',
    eventType: 'FORM_RESPONSE',
    createdAt: '2021-08-10T08:00:47.578Z',
    data: {
      responseId: 'de71a05e-b1bb-4981-9ef9-f93b9f8af8f6',
      respondentId: 'Zw8lwJ',
      formId: 'pnrB2n',
      formName: 'Integrations Test',
      createdAt: '2021-03-19T14:11:01.000Z',
      fields: [
        {
          key: 'question_Rw7vL3_ff12dd5c-e8f2-40a1-b67d-6336fb0a7767',
          label: 'utm_campaign',
          type: 'HIDDEN_FIELDS',
          value: 'newsletter',
        },
        {
          key: 'question_rm6vem_251a6eef-74f6-457b-9a01-1c96229e9484',
          label: 'Score',
          type: 'CALCULATED_FIELDS',
          value: 109,
        },
        {
          key: 'question_rm6vem_795d1624-3fbd-472a-a831-db736009f1a6',
          label: 'Type',
          type: 'CALCULATED_FIELDS',
          value: 'Hard',
        },
        {
          key: 'question_5mVVam',
          label: 'Name',
          type: 'INPUT_TEXT',
          value: 'Filip',
        },
        {
          key: 'question_E3ELom',
          label: 'Full name',
          type: 'INPUT_TEXT',
          value: 'Filip Minev',
        },
        {
          key: 'question_l3jLRn',
          label: 'Age',
          type: 'INPUT_NUMBER',
          value: 33,
        },
        {
          key: 'question_Vw2Lpm',
          label: 'Email',
          type: 'INPUT_EMAIL',
          value: 'filip@tally.so',
        },
        {
          key: 'question_63x2Gn',
          label: 'Phone number',
          type: 'INPUT_PHONE_NUMBER',
          value: '0491999999',
        },
        {
          key: 'question_vmZl0w',
          label: 'Website',
          type: 'INPUT_LINK',
          value: 'https://tally.so',
        },
        {
          key: 'question_M3NLGn',
          label: 'Birthdate',
          type: 'INPUT_DATE',
          value: '2001-03-15',
        },
        {
          key: 'question_V3qO2n',
          label: 'Time of birth',
          type: 'INPUT_TIME',
          value: '04:06',
        },
        {
          key: 'question_KnPlQn',
          label: 'Bio',
          type: 'TEXTAREA',
          value: 'Testing 999',
        },
        {
          key: 'question_pnrVMn',
          label: 'Time of day',
          type: 'MULTIPLE_CHOICE',
          value: 'cab5a492-69f6-458a-a689-f57caea0b681',
          options: [
            {
              id: 'e766bee3-c365-4c9a-ae9a-9459068b4f6e',
              text: 'Morning',
            },
            {
              id: '85ba1ce6-e3c4-47e7-bbc4-59b36f2feb95',
              text: 'Noon',
            },
            {
              id: 'cab5a492-69f6-458a-a689-f57caea0b681',
              text: 'Afternoon',
            },
            {
              id: '8922a9b8-5817-44e0-8f95-f259ece01382',
              text: 'Evening',
            },
          ],
        },
        {
          key: 'question_Bw4Lbw',
          label: 'Activity',
          type: 'CHECKBOXES',
          value: ['9c6cf07e-f347-4e4f-b114-9d9436ce646e'],
          options: [
            {
              id: 'a03a2226-4df9-4d51-bba6-769821643656',
              text: 'Soccer',
            },
            {
              id: '9c6cf07e-f347-4e4f-b114-9d9436ce646e',
              text: 'Swimming',
            },
            {
              id: '31a47e25-bcf7-44ed-8a5f-48042018010d',
              text: 'Skiing',
            },
          ],
        },
        {
          key: 'question_Bw4Lbw_a03a2226-4df9-4d51-bba6-769821643656',
          label: 'Activity (Soccer)',
          type: 'CHECKBOXES',
          value: false,
        },
        {
          key: 'question_Bw4Lbw_9c6cf07e-f347-4e4f-b114-9d9436ce646e',
          label: 'Activity (Swimming)',
          type: 'CHECKBOXES',
          value: true,
        },
        {
          key: 'question_Bw4Lbw_31a47e25-bcf7-44ed-8a5f-48042018010d',
          label: 'Activity (Skiing)',
          type: 'CHECKBOXES',
          value: false,
        },
        {
          key: 'question_dwQdg3',
          label: 'Intensity',
          type: 'DROPDOWN',
          value: '4003b3f9-1f85-498f-b970-0c657a46ab68',
          options: [
            {
              id: 'ca5235fd-d8c5-42df-824d-09bf0135e7cc',
              text: 'Easy',
            },
            {
              id: '4003b3f9-1f85-498f-b970-0c657a46ab68',
              text: 'Hard',
            },
          ],
        },
        {
          key: 'question_ln9vGm',
          label: 'CV docs',
          type: 'FILE_UPLOAD',
          value: [
            {
              name: 'Tally.png',
              url:
                'https://storage.googleapis.com/tally-response-assets-dev/3BG2VP/5a0177b6-90af-4b8f-9ac3-d32c20e7c0ce',
              mimeType: 'image/png',
              size: 2868,
            },
          ],
        },
        {
          key: 'question_Rme2q3_price',
          label: 'Payment (price)',
          type: 'PAYMENT',
          value: 19.0,
        },
        {
          key: 'question_Rme2q3_currency',
          label: 'Payment (currency)',
          type: 'PAYMENT',
          value: 'USD',
        },
        {
          key: 'question_Rme2q3_name',
          label: 'Payment (name)',
          type: 'PAYMENT',
          value: 'Bob Tester',
        },
        {
          key: 'question_Rme2q3_email',
          label: 'Payment (email)',
          type: 'PAYMENT',
          value: 'bob@tester.com',
        },
        {
          key: 'question_Rme2q3_link',
          label: 'Payment (link)',
          type: 'PAYMENT',
          value: 'https://dashboard.stripe.com/payments/[PAYMENT_ID]',
        },
        {
          key: 'question_dnWYJ3',
          label: 'Rating',
          type: 'RATING',
          value: 4,
        },
        {
          key: 'question_ywaE9w',
          label: 'NPS',
          type: 'LINEAR_SCALE',
          value: 9,
        },
      ],
    },
  }