How to Create and Send a Contact Request Component on WhatsApp in Blip August 24, 2026 12:33 Updated How to Send as a Message Template Creating the Template Important Meta Limitations When Using the Component How to Send via API How to Use Inside Blip Studio/Builder Step-by-Step in Builder Meta Limitations for Dynamic Content How to Verify the Origin of the Contact Shared on WhatsApp Display of the Contact Request Component Blip allows you to interact more intelligently with your customers using native WhatsApp features. The Contact Request functionality enables you to send a structured message with a specific button provided by Meta so that the contact can share their contact information with your intelligent contact in a simple, automatic, and secure way.In this article, you will learn how to create this component in a message template and in interactive messages, as well as how to send it through different channels of our API and directly via Blip Studio/Builder. How to Send as a Message Template1. Template CreationTo create the template, you must make an HTTP request using the command below:{ "id":"{{$guid}}", "from":"{{$botIdentity}}", "method":"set", "type":"application/json", "to":"postmaster@wa.gw.msging.net", "uri":"/message-templates", "resource":{ "name":"{{message template name}}", "components":[ { "type":"BUTTONS", "buttons":[ { "type":"REQUEST_CONTACT_INFO", "text":"Share Contact Info" } ] }, { "type":"BODY", "text":"{{Message body text}}" } ], "language":"pt_BR", "category":"{{UTILITY or MARKETING}}" } }2. Important Meta Limitations When Using the ComponentSince this is a native feature of Meta's ecosystem, there are specific rules that must be strictly followed to avoid rejection or failure in sending the component: Fixed Structure: The request MUST have exactly the JSON structure described above. Any missing property or modification outside the standard will cause immediate failure. Button Component: The object inside buttons must mandatorily contain the values "type":"REQUEST_CONTACT_INFO" and "text":"Share Contact Info". Do not change these texts or types, as they are a requirement imposed by Meta itself for this feature. The button text translation is done automatically by Meta. What Can Be Customized: the only allowed flexibility in creation is the "text" field inside the "BODY" component (where the main message the user will read is), the language definition ("language"), and the category ("category"), which can be set as UTILITY or MARKETING (and may be reviewed later by Meta). Use of Variables: You can use dynamic variables (such as {{1}}, {{2}}) normally within the body text (BODY). To learn more about approval and best practices for variables, please visit our Guide to Creating and Approving WhatsApp Message Templates. How to Send via API If you prefer to send directly to a specific contact using the traditional message sending API, format the payload as structured below:{ "id":"{{$guid}}", "to":"{{$userIdentity}}@wa.gw.msging.net", "type":"application/json", "content": { "type": "template", "template": { "language": { "policy": "deterministic", "code": "pt_BR" }, "name": "{{message template name}}", "components": [] }, "templateContent": { "name": "{{message template name}}", "language": "pt_BR", "category": "{{UTILITY or MARKETING}}" } } } How to Use Inside Blip Studio/BuilderIt is also possible to include this request component in a conversation flow of your intelligent contact using Blip Studio/Builder. For this, you need to use the Dynamic Content block.If you are not yet familiar with this type of component, we recommend reading first the article How to Use Dynamic Content.Step-by-Step in BuilderIn the desired block of your flow, add a new content component of the Dynamic Content type. Set the Type field to application/json. In the Content Value field, fill in the following JSON: { "recipient_type":"individual", "type":"interactive", "interactive": { "type": "request_contact_info", "body": { "text": "Please share your contact so we can continue our conversation." }, "action": { "name": "request_contact_info" } } }Meta Limitations for Dynamic ContentJust like in the API, there are immutable properties according to Meta’s specifications: The value of "type" inside "interactive" must be strictly "request_contact_info". The value of "name" inside "action" must mandatorily be "request_contact_info". Free modification is allowed only in the "text" field contained in the "body" object, which represents the descriptive text sent to the contact. How to Verify the Origin of the Contact Shared on WhatsApp⚠️ The behaviors below represent the current design of the functionality and may evolve until the final release. When a user shares a contact through the WhatsApp component provided by Meta, we add specific metadata to the message that allows identifying the origin and type of the sharing. This metadata is essential to differentiate when the user is sharing their own contact information or sharing someone else’s contact.Available Metadata1. `#wa.sharedWaId`This metadata indicates that the message contains phone number identification information. It appears as a new property confirming the presence of WaId data in the message context. It will be omitted if the user has not yet shared their contact.It is available in all messages where WhatsApp provides a WhatsApp ID (WaId).2. `#wa.contactOrigin`This metadata identifies the origin of the contact sharing, allowing you to distinguish when the user shares their own information or shares third-party data.Possible values:- `contact_request` - The user shared their own contact information (via a REQUEST_CONTACT_INFO button or similar)- `other` - The user shares the contact in a way other than via a CTA button, for example, from the contact list, which may be their own or someone else’s.Note: This metadata is displayed only in messages of the shared contacts type.Identification of Contact SharingWhen a shared contact message contains both `#wa.sharedWaId` and `#wa.contactOrigin` with the value "contact_request", you can confirm that the shared contact belongs to the user sending the message, since even when shared via the CTA through which the user shares their contact information, they have the option to omit the phone number. Therefore, it is only possible to confirm that the shared contact is the same as the user’s by both pieces of information.Display of the Contact Request ComponentHere are some images to illustrate how the request component will appear in the conversation thread: Need more help? Explore our content at Blip Academy or Blip Community, watch tutorials on our YouTube channel, or ask your questions in our support channel 😃 Related articles Usernames on WhatsApp: BSUID, new IDs, and impacts on Blip BSUID - Contact ID, metadata, endpoints, and applicability in Blip Sending Active Messages with BSUID Action: Run script Business Username - Management in Blip and Best Practices