Changelog
This changelog documents material changes to the Flow Results specification. Versions of the specification adhere to Semantic Versioning.
[1.0.0-rc4] - 2022-07-04
Deprecated
Console.IOandConsoleUI.Printhad theoretical use-cases that did not materialize. They have been removed.Given that the
Consolenamespace no longer has blocks, it has been removed.
Added
Webhook block type within the Core namespace (
Core.Webhook), for asynchronous or synchronous requests to external endpoints during Flow runs. (#24)
Changed
Resources
Resources have been re-located from the container to the flow to which they apply. Including resources with the flows they belong to is more straightforward for implementers. If a resource needs to be used in multiple places the same URL can be used, but referenced from multiple resources.
Response Blocks (OpenResponse, Numeric, SelectOne, SelectMany)
OpenResponse, Numeric, SelectOne, SelectMany)Clarify that prompts are optional (but recommended). This enables legacy conversions where prompts have been sent to the Contact in a previous Message block, and it's not possible to merge the Message block with the Response block. In the case where no prompt exists, the block will wait silently for a response.
MobilePrimitives.OpenResponse
MobilePrimitives.OpenResponseTEXT.max_response_charactersremoved. Behaviour for this feature is unclear. Would the message from a user be rejected if it was too long? Would it be truncated? Since most channels have character inherent character limits anyways, suggest to remove this from the spec and allow vendors to configure a limit with vendor metadata if needed.IVR.end_recording_digitsadded. These will allow a caller to end a recording, instead of waiting for timeout.
MobilePrimitives.SelectOne and MobilePrimitives.SelectMany
MobilePrimitives.SelectOne and MobilePrimitives.SelectManyIVR.randomize_choice_orderadded. This field works in conjunction with pre-existingquestion_prompt,choices.promptandIVR.digit_promptsto present choices in random order to reduce response bias.Clarification: prompt is optional when question_prompt is provided. On IVR, A prompt doesn’t need to be provided for each choice unless question_prompt is provided.
Choice tests refactored. IVR and Text test cases are now separate, with text tests defined per-language.
MobilePrimitives.Numeric
MobilePrimitives.NumericClarification on what the block’s behaviour is when an invalid input is given. “responses less than this will proceed through the default exit” change to “responses less than this will result in a block value of null.”
Core.SetGroupMembership
Core.SetGroupMembershipAllow a list of groups, to add to or remove a Contact from multiple groups at once.
Add a new action "clear", which removes a Contact from all existing groups without needing to specify them.
Core.SetContactProperty and block.config.set_contact_property
Core.SetContactProperty and block.config.set_contact_propertyAllow setting an array of multiple contact properties within one block. This simplifies common flows compared to using multiple blocks, and improves interoperability.
[1.0.0-rc3] - 2021-07-30
Changed
SelectOneResponse and SelectManyResponse block types: Introduce a test-based system for mapping responses received via text, IVR, and other channels to choices in a standard way. Restructure choice definitions from a map of
[{choice-name: resources}]to a structure that is easier to work with in Javascript. (#53)Remove
configon exits, as this seems to be unused and unecessary. Replace withvendor_metadataon exits. (#57)
Added
API Specification for publishing, listing, and running Flows on external systems. (#58)
Add additional "test" functions for interoperability with RapidPro
[1.0.0-rc2] - 2020-06-30
Added
Added
tagsto blocks for semantic categorizationPositions (x,y) of Blocks on the canvas added in a standard part of the spec (ui_metadata instead of vendor_metadata)
Changed
exit.tagrenamed toexit.namefor consistency with Flows and BlocksRemove
exit.labelas there is no need for a translated resource of exit names (#55)
Last updated
Was this helpful?