Skip to main content

Create Message Template

Create Message Template creates a WhatsApp message template and submits it for Meta review. The new template starts in status PENDING. The request body is sent to Meta as-is.

It calls POST https://graph.facebook.com/v23.0/{wabaId}/message_templates.

The activity has four tabs: Configuration, Auth, Input and Output.

Configuration​

FieldRequiredDescription
NameOptionalName of the step, should be unique within this workflow.
DescriptionOptionalDescribe the purpose or function of this step.
WABA IDOptionalWhatsApp Business Account id. Not the app id or phone number id. Sent as the wabaId path parameter; Meta needs it.

Auth​

FieldRequiredDescription
Auth TypeOptionalOAuth 2, the only option. WhatsApp uses the Meta OAuth connection.
WhatsApp ConnectionOptionalThe WhatsApp resource, which needs the whatsapp_business_management scope.

Input​

This activity is built on the REST Client. Map the template under body:

FieldRequiredData TypeDescription
TargetRequiredObjectThe HTTP request. The template goes under body.
Body fieldData TypeDescription
nameStringLowercase letters, digits and underscores; max 512 characters.
languageStringLanguage or locale, for example en or en_US.
categoryStringUTILITY, MARKETING or AUTHENTICATION.
parameter_formatStringnamed (placeholders like {{first_name}}) or positional ({{1}}). Use named.
components[].typeStringHEADER, BODY, FOOTER or BUTTONS.
components[].formatStringHeader only: TEXT, IMAGE, VIDEO, DOCUMENT or LOCATION.
components[].textStringThe text, with placeholders.
components[].exampleObjectSample values Meta reviews: body_text_named_params and header_text_named_params (named), body_text and header_text (positional), or header_handle for a media header.
components[].buttons[]ArrayButtons: type (URL, PHONE_NUMBER, QUICK_REPLY, COPY_CODE, FLOW, OTP), text, url, phone_number, example.

An image, video or document header needs an upload handle in example.header_handle, from Meta's Resumable Upload API.

See Create a template for a full example and the rules Meta enforces (name format, no placeholder at the start or end of a text, an example for every placeholder).

Output​

The activity returns an httpResponse object (status.code, status.message, headers, body). The response body carries:

FieldData TypeDescription
idStringThe new template's id.
statusStringReview status, usually PENDING right after creation.
categoryStringThe category Meta assigned. Meta can recategorise a template during review.