Webhook Events

Complete catalog of all webhook event types and their payloads


Event Catalog

Formfex supports the following webhook events. Subscribe to any combination when creating or updating a webhook endpoint.

Form Events

FORM_CREATED

Fired when a new form is created.

json
{
  "type": "FORM_CREATED",
  "created_at": "2026-03-06T12:00:00.000Z",
  "data": {
    "formId": "cm1a2b3c4d5e6f7g8h9i0j",
    "title": "Customer Feedback Survey"
  }
}

FORM_PUBLISHED

Fired when a form is published and starts accepting responses.

json
{
  "type": "FORM_PUBLISHED",
  "created_at": "2026-03-06T12:00:00.000Z",
  "data": {
    "formId": "cm1a2b3c4d5e6f7g8h9i0j",
    "title": "Customer Feedback Survey",
    "shareUrl": "https://app.formfex.com/f/abc123"
  }
}

FORM_UNPUBLISHED

Fired when a form is unpublished and stops accepting responses.

json
{
  "type": "FORM_UNPUBLISHED",
  "created_at": "2026-03-06T12:00:00.000Z",
  "data": {
    "formId": "cm1a2b3c4d5e6f7g8h9i0j",
    "title": "Customer Feedback Survey"
  }
}

FORM_DELETED

Fired when a form is deleted.

json
{
  "type": "FORM_DELETED",
  "created_at": "2026-03-06T12:00:00.000Z",
  "data": {
    "formId": "cm1a2b3c4d5e6f7g8h9i0j",
    "title": "Customer Feedback Survey"
  }
}

FORM_EXPIRED

Fired when a form reaches its expiration date.

json
{
  "type": "FORM_EXPIRED",
  "created_at": "2026-03-06T12:00:00.000Z",
  "data": {
    "formId": "cm1a2b3c4d5e6f7g8h9i0j",
    "title": "Customer Feedback Survey"
  }
}

Response Events

FORM_RESPONSE_CREATED

Fired when a new form response is submitted. This is the most commonly used event.

json
{
  "type": "FORM_RESPONSE_CREATED",
  "created_at": "2026-03-06T12:00:00.000Z",
  "data": {
    "formId": "cm1a2b3c4d5e6f7g8h9i0j",
    "formTitle": "Customer Feedback Survey",
    "responseId": "cm9z8y7x6w5v4u3t2s1r0q",
    "answers": {
      "field_abc123": {
        "question": "How satisfied are you?",
        "answer": "Very satisfied"
      },
      "field_def456": {
        "question": "Any additional comments?",
        "answer": "Great product, keep it up!"
      }
    }
  }
}

FORM_RESPONSES_LIMIT_REACHED

Fired when a form reaches its configured response limit and stops accepting new submissions.

json
{
  "type": "FORM_RESPONSES_LIMIT_REACHED",
  "created_at": "2026-03-06T12:00:00.000Z",
  "data": {
    "formId": "cm1a2b3c4d5e6f7g8h9i0j",
    "formTitle": "Customer Feedback Survey"
  }
}

Analytics Events

ANALYTICS_REPORT_COMPLETED

Fired when an AI-powered Smart Analytics report finishes processing.

json
{
  "type": "ANALYTICS_REPORT_COMPLETED",
  "created_at": "2026-03-06T12:00:00.000Z",
  "data": {
    "formId": "cm1a2b3c4d5e6f7g8h9i0j",
    "reportId": "rpt_abc123def456",
    "reportTitle": "Customer Feedback Analysis"
  }
}

Subscription Events

SUBSCRIPTION_CHANGED

Fired when the account's subscription plan changes (upgrade, downgrade, or cancellation).

json
{
  "type": "SUBSCRIPTION_CHANGED",
  "created_at": "2026-03-06T12:00:00.000Z",
  "data": {
    "previousPlan": "STARTER",
    "newPlan": "PRO",
    "changeType": "upgrade"
  }
}

SUBSCRIPTION_PAYMENT_FAILED

Fired when a subscription payment fails.

json
{
  "type": "SUBSCRIPTION_PAYMENT_FAILED",
  "created_at": "2026-03-06T12:00:00.000Z",
  "data": {
    "plan": "PRO",
    "failureReason": "card_declined"
  }
}

Quick Reference

EventDescription
FORM_CREATEDNew form created
FORM_PUBLISHEDForm published (live)
FORM_UNPUBLISHEDForm unpublished
FORM_DELETEDForm deleted
FORM_EXPIREDForm expired
FORM_RESPONSE_CREATEDNew response submitted
FORM_RESPONSES_LIMIT_REACHEDResponse limit hit
ANALYTICS_REPORT_COMPLETEDAI analytics report ready
SUBSCRIPTION_CHANGEDPlan changed
SUBSCRIPTION_PAYMENT_FAILEDPayment failed