Prepare the contact flow module content as a JSON string conforming to the Amazon Connect flow definition schema; the module defines a reusable block of flow logic with defined inputs and outputs.
Call CreateContactFlowModule with InstanceId, a Name (1–127 characters), the Content JSON string, and an optional Description (max 500 characters).
Store the ContactFlowModuleId returned in the response; this ID is used to reference the module from parent contact flows.
To update the module logic, call UpdateContactFlowModuleContent with the InstanceId, ContactFlowModuleId, and the new Content JSON string.
To version the module, call CreateContactFlowModuleVersion; use versioning before deploying changes to production so rollback is possible without rewriting the flow.
In parent contact flows, reference the module by its ContactFlowModuleId using an Invoke Flow Module block; the parent flow passes parameters to the module via its input interface.
Known gotchas
The Contact flow module content JSON is the same language as a standard contact flow but must include InvokeFlowModule-compatible entry/exit points; a contact flow block schema that is valid for a standard flow may not be valid inside a module.
CreateContactFlowModuleVersion creates an immutable snapshot; once created, a version cannot be modified — subsequent changes require creating a new version.
Modules created via the API do not automatically appear as available blocks in the Amazon Connect visual flow editor until the IAM policy for the instance includes the appropriate connect:DescribeContactFlowModule permission for the users who manage flows.
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp