CreateWhatsAppFlow
Creates a new WhatsApp Flow. Flows enable businesses to create rich, interactive forms and experiences
that users can complete without leaving WhatsApp. The Flow is created in DRAFT status. If publish
is set to true and a valid flowJson is provided, the Flow is published immediately.
Request Syntax
POST /v1/whatsapp/flow/create HTTP/1.1
Content-type: application/json
{
"categories": [ "string" ],
"cloneFlowId": "string",
"flowJson": blob,
"flowName": "string",
"id": "string",
"publish": boolean
}
URI Request Parameters
The request does not use any URI parameters.
Request Body
The request accepts the following data in JSON format.
- categories
-
The categories that classify the business purpose of the Flow. At least one category is required.
Type: Array of strings
Array Members: Minimum number of 1 item. Maximum number of 9 items.
Valid Values:
SIGN_UP | SIGN_IN | APPOINTMENT_BOOKING | LEAD_GENERATION | SHOPPING | CONTACT_US | CUSTOMER_SUPPORT | SURVEY | OTHERRequired: Yes
- cloneFlowId
-
The ID of an existing Flow within the same WhatsApp Business Account to clone.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 100.
Pattern:
[0-9]+Required: No
- flowJson
-
The Flow JSON definition that describes the screens, components, and logic of the Flow. Maximum size is 10 MB.
Type: Base64-encoded binary data object
Length Constraints: Minimum length of 1. Maximum length of 10485760.
Required: No
- flowName
-
The name of the Flow. Must be unique within the WhatsApp Business Account.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 200.
Required: Yes
- id
-
The ID of the WhatsApp Business Account to associate with this Flow.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 115.
Pattern:
.*(^waba-.*$)|(^arn:.*:waba/[0-9a-zA-Z]+$).*Required: Yes
- publish
-
Set to
trueto publish the Flow immediately after creation. Requires a validflowJsonthat passes Meta's validation.Type: Boolean
Required: No
Response Syntax
HTTP/1.1 200
Content-type: application/json
{
"flowId": "string",
"validationErrors": [ "string" ]
}
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
The following data is returned in JSON format by the service.
- flowId
-
The unique identifier assigned to the Flow by Meta.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 100.
Pattern:
[0-9]+ - validationErrors
-
A list of validation errors returned by Meta, if any. Validation errors must be resolved before the Flow can be published.
Type: Array of strings
Length Constraints: Minimum length of 0. Maximum length of 1048576.
Errors
For information about the errors that are common to all actions, see Common Error Types.
- AccessDeniedByMetaException
-
You do not have sufficient access to perform this action.
HTTP Status Code: 403
- AccessDeniedException
-
You do not have sufficient access to perform this action.
HTTP Status Code: 403
- DependencyException
-
Thrown when performing an action because a dependency would be broken.
HTTP Status Code: 502
- InternalServiceException
-
The request processing has failed because of an unknown error, exception, or failure.
HTTP Status Code: 500
- InvalidParametersException
-
One or more parameters provided to the action are not valid.
HTTP Status Code: 400
- ResourceNotFoundException
-
The resource was not found.
HTTP Status Code: 404
- ThrottledRequestException
-
The request was denied due to request throttling.
HTTP Status Code: 429
- ValidationException
-
The request contains an invalid parameter value.
HTTP Status Code: 400
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following: