Skip to content

Submission

JSON payload when a user completes an autoreply submission form.

2 min read

Event submission fires when a user finishes an autoreply submission form on a device linked to your webhook.

Enable Submission on Webhooks → Webhook and link the device that owns the form. See Autoreply submissions.

Header:

X-Kirisan-Event: submission

(Legacy endpoints may send submission.completed in the header while the body still uses "event": "submission".)

Payload fields

FieldTypeMeaning
eventstringsubmission
submissionobjectid (form id) and name (form title)
devicestringDevice token or identifier
senderstringUser who completed the form (phone or chat id)
channelstringwhatsapp, telegram, or waba
answersarrayOne object per question, in ask order
started_atintegerUnix seconds when the session started
completed_atintegerUnix seconds when the form was submitted
timestampintegerUnix seconds when Kirisan sent the webhook
productionbooleantrue live; false on Webhooks → Test

Each answers[] item

FieldMeaning
questionQuestion text shown to the user
answerAnswer object — see below

answer object

answer.typeFields
texttext — plain string
image, video, audio, filefile with url, filename, filetype (and optional mime_type)

Empty or skipped answers appear as { "type": "text", "text": "" }.

Example

{
  "event": "submission",
  "submission": {
    "id": 42,
    "name": "Registration form"
  },
  "device": "your-device-token",
  "sender": "6281234567890",
  "channel": "whatsapp",
  "answers": [
    {
      "question": "What is your name?",
      "answer": {
        "type": "text",
        "text": "Jane Doe"
      }
    },
    {
      "question": "Upload your ID photo",
      "answer": {
        "type": "image",
        "file": {
          "url": "https://cdn.example.com/uploads/id-photo.jpg",
          "filename": "id-photo.jpg",
          "filetype": "image",
          "mime_type": "image/jpeg"
        }
      }
    }
  ],
  "started_at": 1735689480,
  "completed_at": 1735689600,
  "timestamp": 1735689600,
  "production": true
}
Last updated: July 2, 2026
Was this page helpful?