As interactive message
Send a flow in a user-initiated conversation (within the 24-hour window).As template message
Send a flow outside the 24-hour window using a message template with a FLOW button.Create template
Send template
Parameters
Flow token
TheflowToken is a correlation ID. Meta sends it back with every data endpoint request and when the user completes the flow.
Default behavior: If not provided, Kapso uses the flowId as the token.
Custom tokens are safe to use. Kapso links a flow response to its flow through the outbound message the reply replies to, not through the token value, so response collection keeps working with any flowToken. This applies to flows sent as interactive messages and to flows sent through a template’s FLOW button.
Responses are stored even when the flow can’t be identified — for example when the reply carries no reference to the originating message, or when the project has more than one flow matching the same name.
When to customize:
- You’re using a data endpoint and need to pass context (e.g., user ID, order ID)
- You’re handling response tracking yourself
- The token is available in every data endpoint request via
data_exchange.flow_token
Receiving responses
When a user completes a flow, you receive awhatsapp.message.received webhook. The message has type: interactive with interactive.type: nfm_reply.
interactive.nfm_reply.response_json contains the raw JSON string from the flow’s final screen. Kapso parses this and adds:
To receive flow responses, subscribe to the
whatsapp.message.received webhook event and filter for interactive.type === "nfm_reply".
