Browse documentation

Webhook event

lead.form_response_submitted

A Lead form was submitted.

Emitted for every submission, including the one that creates the Lead. A repeat submission from someone already in the pipeline emits only this event, because reusing an existing Lead does not change it and so does not emit lead.updated.

Payload schema

  • api_versionanyrequired
  • contextobject

    Present only when source is api. Identifies the acting project and API key.

    • developer_platform_api_key_idstring | null · uuid
    • developer_platform_project_idstring | null · uuid
  • created_atstring · date-timerequired

    An ISO 8601 timestamp in UTC, with a Z suffix. For example, 2026-07-01T09:00:00Z.

  • dataobjectrequired
    • objectobjectrequired
      • answersarrayrequired

        The questions and answers, in the order the respondent saw them. Layout blocks, hidden fields and the form's bot trap are omitted. A file upload question is omitted too; the uploaded files appear in the Lead's attachments.

        • itemsobject

          One question and its submitted answer, embedded in a FormResponse.

          • field_namestring | nullrequired

            The machine name of the question, for example presenting_problem. Match on this rather than on label, which an Organization can reword at any time.

          • field_typestring | nullrequired

            The kind of question asked, for example text_area or date_field. Use it to parse value.

          • labelstringrequired

            The question as it was shown to the respondent, with HTML sanitized. A question saved with no label returns an empty string.

          • valuestring | nullrequired

            The submitted answer, always a string. A date_field returns an ISO 8601 date such as 1990-06-15. A consent_field returns a UTC ISO 8601 timestamp. A number_field returns a decimal such as 12.5. A checkbox returns true or false. A dropdown or radio returns the selected option's value, such as both_knees, not its display label. A multiselect returns null and uses values instead.

          • valuesarrayrequired

            The selected option values for a multiselect question, such as ["both_knees"]. Empty for every other question type. Like value, these are option values rather than display labels, because a label is free text the Organization can reword at any time.

            • itemsstring
      • created_atstring · date-timerequired

        An ISO 8601 timestamp in UTC, with a Z suffix. For example, 2026-07-01T09:00:00Z.

      • form_namestringrequired

        The name of the form the respondent submitted.

      • form_typestringrequired

        Whether the submission came from an enquiry form or a referral form. This describes the form, not the Lead. A Lead whose lead_type is referral can still hold an inquiry_form submission.

        Allowed values: inquiry_form | referral_form

      • idstring · uuidrequired

        The resource's unique identifier, formatted as an RFC 4122 version 4 UUID.

      • lead_idstring · uuidrequired

        The Lead the submission created or updated.

      • linksobjectrequired

        URLs to related resources.

        • leadstring · urirequired

          The full URL of a related resource.

        • selfstring · urirequired

          The full URL of a related resource.

      • objectanyrequired

        Discriminator value emitted at object.

      • referral_notesstring | nullrequired

        The referral notes captured with this submission. The Lead's own referral_notes is taken from its first submission that supplied one, so this can differ.

      • referral_sourcestring | nullrequired

        How this submission reached the Organization. A form submitted on the Organization's website records website.

        Allowed values: consultant | embassy | family_or_friend | gp_practice | hospital | insurance_company | physiotherapist | presentation_talk | previous_patient | private_practice | search_engine | self_referral | social_media | website | other | null

      • referred_by_clinician_idstring | null · uuidrequired

        The Clinician who referred this submission, when one was identified.

      • referred_by_organization_idstring | null · uuidrequired

        The Organization that referred this submission, when one was identified.

      • submitted_atstring · date-timerequired

        An ISO 8601 timestamp in UTC, with a Z suffix. For example, 2026-07-01T09:00:00Z.

      • trackingobjectrequired

        The marketing attribution captured with this submission.

        • ad_idstring | nullrequired

          The ad_id advertising identifier.

        • fbclidstring | nullrequired

          The Facebook click identifier.

        • gad_campaign_idstring | nullrequired

          The Google Ads campaign identifier, from gad_campaignid.

        • gad_sourcestring | nullrequired

          The Google Ads source.

        • gbraidstring | nullrequired

          The Google gbraid click identifier.

        • gclidstring | nullrequired

          The Google click identifier.

        • landing_page_originstring | null · urirequired

          The scheme and host of the page the form was submitted from, for example https://www.example.com. Null when no landing page URL was recorded.

        • utm_campaignstring | nullrequired

          The utm_campaign parameter.

        • utm_contentstring | nullrequired

          The utm_content parameter.

        • utm_mediumstring | nullrequired

          The utm_medium parameter.

        • utm_sourcestring | nullrequired

          The utm_source parameter.

        • utm_termstring | nullrequired

          The utm_term parameter.

      • updated_atstring · date-timerequired

        An ISO 8601 timestamp in UTC, with a Z suffix. For example, 2026-07-01T09:00:00Z.

  • developer_platform_project_idstring | null · uuidrequired

    The project ID whose credential caused the change. Null for dashboard events.

  • idstringrequired

    Event identifier prefixed with evt_.

  • livemodebooleanrequired

    false for test-event deliveries.

  • objectanyrequired
  • sourcestringrequired

    Origin of the change. api means a Developer Platform mutation; dashboard means a Carebit-initiated change.

    Allowed values: api | dashboard

  • typeanyrequired

Prefer plain text? Append ?format=md or send Accept: text/markdown to receive this page as raw Markdown.