mime_type
field should be provided for all values; when provided, this must be an IANA media type (RFC 6838).id
(string)eng-female
"label
(string, optional)iso_639_3
(string)eng
". "mis
" is the ISO 639-3 code for languages not yet included in ISO 639-3.variant
(string, optional)variant
describes the specialization, e.g. "east_africa
".bcp_47
(string, optional)en-GB
". These codes are often useful in conjunction with speech synthesis and speech recognition tools.iso_639_3
>-<variant
>, where the variant is not null.iso_639_3
>, when the variant is null.vendor_metadata
optional field. This is intended for parameters that are not controlled by the Specification, but could be relevant to a specific vendor/platform/implementation. Vendors must use namespaces within vendor_metadata
to avoid collisions. Suggested namespaces use reverse domain name notation, with periods replaced by underscores (e.g.: A vendor with domain https://my.example-flow-server.com would place entries within vendor_metadata.com_example-flow-server_my
).specification_version
(string)1.0.0-rc1
uuid
(uuid)name
(string)description
(string)vendor_metadata
(object, optional)flows
(array)resources
(object)uuid
(uuid)name
(string)label
(string, optional)last_modified
(timestamp, UTC)interaction_timeout
(integer)vendor_metadata
(object, optional)supported_modes
(array)first_block_id
(uuid)blocks
that is at the beginning of the flow.exit_block_id
(uuid, optional)blocks
that will be jumped to if there is an error or deliberate exit condition during Flow Run. If not provided, the Flow Run will end immediately.languages
(array)blocks
(array)supported_modes
are:TEXT
: general text-based interactions. This includes SMS and USSD channels, which may have distinct behaviour while sharing the same content.SMS
: content specific for SMSUSSD
: content specific for USSDIVR
: content specific for interactive voice responseRICH_MESSAGING
: content used for data channels that support multimedia including text, audio, images, and video, such as social network chatbots (Facebook Messenger, WhatsApp, Twitter, Telegram, etc.)OFFLINE
: content used for mobile apps designed to run offline without a data connection.uuid
(uuid)name
(string, word-characters only)name
of the block.label
(string, optional)semantic_label
(string, optional)tags
(array of strings, optional)semantic_label
, but the assumption is that many related blocks might have the same tags.vendor_metadata
(object, optional)ui_metadata
(object)ui_metadata.canvas_coordinates.x
, ui_metadata.canvas_coordinates.y
(numbers)type
(string)Core.RunFlow
or MobilePrimitives.Message
.config
(object)exits
(array)exits
must contain:uuid
(uuid)name
(string)@(flow.block_name.exit)
.destination_block
(uuid)semantic_label
(string, optional)test
(expression, optional)default
(boolean, optional)config
(object)test
or default
. Each block must have exactly one default
exit. The default
exit is listed last in the list.set_contact_property
object within the Block config
:property_key
is a string attribute within the context of the Contact, and is not further restricted by this specification. For complete block interoperability across vendors, vendors would need to agree on the format and identity of property_key
. (e.g. property_key
could be "gender" , or it could be a UUID referenced to an external taxonomy service.)