[{"data":1,"prerenderedAt":195},["ShallowReactive",2],{"pseo:platforms:activepieces":3,"highlight:platform:activepieces":182},{"auth_method":4,"ban_risk":5,"capabilities":6,"example_flows":73,"faqs":115,"http_module":125,"name":128,"official_connector_note":129,"recipes":130,"related":134,"seo":155,"setup_steps":169,"setup_time":175,"slug":176,"tier":177,"type":178,"updated":167,"url":163,"webhook_trigger":179},"Bearer authentication configured on the HTTP piece, stored as a connection","high",[7,16,22,27,32,38,43,49,56,62,67],{"availability":8,"category":9,"cloud_api_status":10,"in_flows":11,"name":12,"slug":13,"summary":14,"url":15},"ga","groups","forbidden",true,"Create Group","create-group","Open a WhatsApp group from your own backend.","\u002Fwhatsapp-api\u002Fcreate-group\u002F",{"availability":8,"category":9,"cloud_api_status":10,"in_flows":17,"name":18,"slug":19,"summary":20,"url":21},false,"Group Participants","group-participants","Add, remove and list members of a WhatsApp group.","\u002Fwhatsapp-api\u002Fgroup-participants\u002F",{"availability":8,"category":9,"cloud_api_status":10,"in_flows":11,"name":23,"slug":24,"summary":25,"url":26},"Group Invite Link","group-invite-link","Read, revoke and resolve group invite links.","\u002Fwhatsapp-api\u002Fgroup-invite-link\u002F",{"availability":8,"category":9,"cloud_api_status":10,"in_flows":11,"name":28,"slug":29,"summary":30,"url":31},"Send Group Message","send-group-message","Send text, media and polls into a WhatsApp group.","\u002Fwhatsapp-api\u002Fsend-group-message\u002F",{"availability":8,"category":33,"cloud_api_status":10,"in_flows":17,"name":34,"slug":35,"summary":36,"url":37},"channels","Create Channel","create-channel","Create and manage a WhatsApp Channel.","\u002Fwhatsapp-api\u002Fcreate-channel\u002F",{"availability":8,"category":33,"cloud_api_status":10,"in_flows":11,"name":39,"slug":40,"summary":41,"url":42},"Post to Channel","post-to-channel","Publish text and media to a WhatsApp Channel.","\u002Fwhatsapp-api\u002Fpost-to-channel\u002F",{"availability":8,"category":44,"cloud_api_status":10,"in_flows":17,"name":45,"slug":46,"summary":47,"url":48},"status","Post Status","post-status","Post text, image and video status updates.","\u002Fwhatsapp-api\u002Fpost-status\u002F",{"availability":8,"category":50,"cloud_api_status":51,"in_flows":11,"name":52,"slug":53,"summary":54,"url":55},"messaging","restricted","Send Without Template","send-message-without-template","Send any message with no template approval.","\u002Fwhatsapp-api\u002Fsend-message-without-template\u002F",{"availability":8,"category":57,"cloud_api_status":51,"in_flows":17,"name":58,"slug":59,"summary":60,"url":61},"contacts","Check Number","check-number","Check whether a phone number is on WhatsApp.","\u002Fwhatsapp-api\u002Fcheck-number\u002F",{"availability":8,"category":57,"cloud_api_status":51,"in_flows":17,"name":63,"slug":64,"summary":65,"url":66},"LID to Phone","lid-to-phone","Map a WhatsApp LID to a phone number.","\u002Fwhatsapp-api\u002Flid-to-phone\u002F",{"availability":8,"category":68,"cloud_api_status":51,"in_flows":17,"name":69,"slug":70,"summary":71,"url":72},"account","Connect a Number","connect-number-qr-pairing","Link any WhatsApp number by code or QR.","\u002Fwhatsapp-api\u002Fconnect-number-qr-pairing\u002F",[74,88,98,103],{"body":75,"curl":76,"operation":79,"title":87},"A form piece triggers the flow, a Code piece normalises the number, and the HTTP piece sends the confirmation. Self-hosting means the form data never leaves your infrastructure on the way to WhatsApp.",{"code":77,"lang":78},"curl --request POST \\\n  --url https:\u002F\u002Fapi.wapito.com\u002Fv1\u002Fmessages\u002Ftext \\\n  --header 'Authorization: Bearer wpt_YOUR_TOKEN' \\\n  --header 'Content-Type: application\u002Fjson' \\\n  --data '{\"to\":\"+15551234567\",\"body\":\"Your order #4182 has shipped. Track it here: https:\u002F\u002Facme.example\u002Ft\u002F4182\",\"typing_time\":3}'","bash",{"availability":8,"ban_risk":80,"method":81,"operationId":82,"path":83,"summary":84,"tag":85,"url":86},"medium","POST","sendText","\u002Fmessages\u002Ftext","Send a text message","messages","\u002Fdocs\u002Fapi\u002Fmessages\u002Fsend-text\u002F","Send a confirmation after a form submission",{"body":89,"curl":90,"operation":92,"title":97},"A helpdesk trigger fires on escalation and the HTTP piece creates a group with the on-call numbers from your directory. The group id is written back to the ticket by a following step.",{"code":91,"lang":78},"curl --request POST \\\n  --url https:\u002F\u002Fapi.wapito.com\u002Fv1\u002Fgroups \\\n  --header 'Authorization: Bearer wpt_YOUR_TOKEN' \\\n  --header 'Content-Type: application\u002Fjson' \\\n  --data '{\"subject\":\"Acme Launch Team\",\"participants\":[\"+15551234567\",\"+15559876543\"],\"description\":\"Coordination for the Q3 launch. Keep it on topic.\"}'",{"availability":8,"ban_risk":5,"method":81,"operationId":93,"path":94,"summary":95,"tag":9,"url":96},"createGroup","\u002Fgroups","Create a group","\u002Fdocs\u002Fapi\u002Fgroups\u002Fcreate-group\u002F","Create a group when a ticket is escalated",{"body":99,"curl":100,"operation":101,"title":102},"The Webhook piece receives message events, a branch inspects the text for keywords, and the HTTP piece replies with the right team's acknowledgement while a parallel step opens the internal task.",{"code":77,"lang":78},{"availability":8,"ban_risk":80,"method":81,"operationId":82,"path":83,"summary":84,"tag":85,"url":86},"Route inbound messages to the right team",{"body":104,"curl":105,"operation":107,"title":114},"A schedule trigger reads the current invite code and a following step publishes it to your site, so a rotated link is always the one your visitors see without anyone editing a page.",{"code":106,"lang":78},"curl --request GET \\\n  --url https:\u002F\u002Fapi.wapito.com\u002Fv1\u002Fgroups\u002F120363041234567890@g.us\u002Finvite \\\n  --header 'Authorization: Bearer wpt_YOUR_TOKEN'",{"availability":8,"ban_risk":108,"method":109,"operationId":110,"path":111,"summary":112,"tag":9,"url":113},"low","GET","getGroupInvite","\u002Fgroups\u002F{id}\u002Finvite","Get the group invite link","\u002Fdocs\u002Fapi\u002Fgroups\u002Fget-group-invite\u002F","Post an invite link on a schedule",[116,119,122],{"a":117,"q":118},"Either works, since both can make outbound HTTPS calls and expose a webhook URL. Self-hosting is worth it if your data cannot leave your infrastructure or if you want the inbound webhook to reach services on a private network; otherwise the cloud version is quicker to start with.","Cloud or self-hosted?",{"a":120,"q":121},"As a connection on the HTTP piece using Bearer authentication. Connections are stored separately from the flow definition, so exporting a flow does not leak the credential, and one rotation updates every step that uses it rather than each one individually.","How do I store the token?",{"a":123,"q":124},"Yes, in a Code piece, which gives you both the headers and the raw body. Compute the HMAC over the raw bytes exactly as they arrived - a body that has been parsed and re-serialised will produce a different hash and the check will fail even when the request was genuine.","Can I verify the webhook signature?",{"docs_url":126,"name":127},"https:\u002F\u002Fwww.activepieces.com\u002Fpieces\u002Fhttp","HTTP piece > Send HTTP request","Activepieces","Activepieces has a WhatsApp piece built on Meta's official API, with the same template and window constraints and no group, Channel or status actions. The generic HTTP piece against Wapito is how you reach those, and because Activepieces can be self-hosted, the whole flow can stay on your own infrastructure.",[131],{"feature":40,"title":132,"url":133},"Post to a WhatsApp Channel from an Activepieces flow","\u002Fintegrations\u002Factivepieces\u002Fpost-to-channel\u002F",{"hub":135,"pillars":136,"siblings":145},"\u002Fintegrations\u002F",[137,138,139,140,143,144],{"title":12,"url":15},{"title":23,"url":26},{"title":28,"url":31},{"title":141,"url":142},"Group Events","\u002Fwhatsapp-api\u002Fgroup-events\u002F",{"title":39,"url":42},{"title":52,"url":55},[146,149,152],{"title":147,"url":148},"n8n","\u002Fintegrations\u002Fn8n\u002F",{"title":150,"url":151},"Make","\u002Fintegrations\u002Fmake\u002F",{"title":153,"url":154},"Zapier","\u002Fintegrations\u002Fzapier\u002F",{"breadcrumb":156,"canonical":164,"description":165,"h1":166,"lastmod":167,"title":168},[157,160,162],{"name":158,"url":159},"Home","\u002F",{"name":161,"url":135},"Integrations",{"name":128,"url":163},"\u002Fintegrations\u002Factivepieces\u002F","https:\u002F\u002Fwapito.com\u002Fintegrations\u002Factivepieces\u002F","Connect WhatsApp to Activepieces with the HTTP piece > Send HTTP request and the Webhook piece > Catch Webhook. Set up in about 10 minutes.","Integrate WhatsApp with Activepieces","2026-09-15","WhatsApp Activepieces Integration | Wapito",[170,171,172,173,174],"Add the HTTP piece with the Send HTTP request action, set the method and the Wapito URL, and choose Bearer authentication so the token is stored as a connection rather than typed into the step.","Set the body to JSON and map fields from the trigger with the data selector instead of pasting literals.","Add a Code piece after the send if you need to branch on the response, since the raw body is available there without another HTTP call.","For inbound events, start a second flow with the Webhook piece, publish it, and register the resulting URL in Wapito.","Verify the signature in a Code piece before acting on the payload, then keep the rest of the flow short so the response goes back quickly.","10 minutes","activepieces","t3a","automation",{"docs_url":180,"name":181},"https:\u002F\u002Fwww.activepieces.com\u002Fpieces\u002Fwebhook","Webhook piece > Catch Webhook",[183,187,190,192],{"label":184,"id":185,"lang":78,"code":77,"html":186},"curl","flow-0","\u003Cpre class=\"shiki shiki-themes github-light-default github-dark-default\" style=\"background-color:#ffffff;--shiki-dark-bg:#0d1117;color:#1f2328;--shiki-dark:#e6edf3\" tabindex=\"0\">\u003Ccode>\u003Cspan class=\"line\">\u003Cspan style=\"color:#953800;--shiki-dark:#FFA657\">curl\u003C\u002Fspan>\u003Cspan style=\"color:#0550AE;--shiki-dark:#79C0FF\"> --request\u003C\u002Fspan>\u003Cspan style=\"color:#0A3069;--shiki-dark:#A5D6FF\"> POST\u003C\u002Fspan>\u003Cspan style=\"color:#CF222E;--shiki-dark:#FF7B72\"> \\\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#0550AE;--shiki-dark:#79C0FF\">  --url\u003C\u002Fspan>\u003Cspan style=\"color:#0A3069;--shiki-dark:#A5D6FF\"> https:\u002F\u002Fapi.wapito.com\u002Fv1\u002Fmessages\u002Ftext\u003C\u002Fspan>\u003Cspan style=\"color:#CF222E;--shiki-dark:#FF7B72\"> \\\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#0550AE;--shiki-dark:#79C0FF\">  --header\u003C\u002Fspan>\u003Cspan style=\"color:#0A3069;--shiki-dark:#A5D6FF\"> 'Authorization: Bearer wpt_YOUR_TOKEN'\u003C\u002Fspan>\u003Cspan style=\"color:#CF222E;--shiki-dark:#FF7B72\"> \\\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#0550AE;--shiki-dark:#79C0FF\">  --header\u003C\u002Fspan>\u003Cspan style=\"color:#0A3069;--shiki-dark:#A5D6FF\"> 'Content-Type: application\u002Fjson'\u003C\u002Fspan>\u003Cspan style=\"color:#CF222E;--shiki-dark:#FF7B72\"> \\\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#0550AE;--shiki-dark:#79C0FF\">  --data\u003C\u002Fspan>\u003Cspan style=\"color:#0A3069;--shiki-dark:#A5D6FF\"> '{\"to\":\"+15551234567\",\"body\":\"Your order #4182 has shipped. Track it here: https:\u002F\u002Facme.example\u002Ft\u002F4182\",\"typing_time\":3}'\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fcode>\u003C\u002Fpre>",{"label":184,"id":188,"lang":78,"code":91,"html":189},"flow-1","\u003Cpre class=\"shiki shiki-themes github-light-default github-dark-default\" style=\"background-color:#ffffff;--shiki-dark-bg:#0d1117;color:#1f2328;--shiki-dark:#e6edf3\" tabindex=\"0\">\u003Ccode>\u003Cspan class=\"line\">\u003Cspan style=\"color:#953800;--shiki-dark:#FFA657\">curl\u003C\u002Fspan>\u003Cspan style=\"color:#0550AE;--shiki-dark:#79C0FF\"> --request\u003C\u002Fspan>\u003Cspan style=\"color:#0A3069;--shiki-dark:#A5D6FF\"> POST\u003C\u002Fspan>\u003Cspan style=\"color:#CF222E;--shiki-dark:#FF7B72\"> \\\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#0550AE;--shiki-dark:#79C0FF\">  --url\u003C\u002Fspan>\u003Cspan style=\"color:#0A3069;--shiki-dark:#A5D6FF\"> https:\u002F\u002Fapi.wapito.com\u002Fv1\u002Fgroups\u003C\u002Fspan>\u003Cspan style=\"color:#CF222E;--shiki-dark:#FF7B72\"> \\\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#0550AE;--shiki-dark:#79C0FF\">  --header\u003C\u002Fspan>\u003Cspan style=\"color:#0A3069;--shiki-dark:#A5D6FF\"> 'Authorization: Bearer wpt_YOUR_TOKEN'\u003C\u002Fspan>\u003Cspan style=\"color:#CF222E;--shiki-dark:#FF7B72\"> \\\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#0550AE;--shiki-dark:#79C0FF\">  --header\u003C\u002Fspan>\u003Cspan style=\"color:#0A3069;--shiki-dark:#A5D6FF\"> 'Content-Type: application\u002Fjson'\u003C\u002Fspan>\u003Cspan style=\"color:#CF222E;--shiki-dark:#FF7B72\"> \\\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#0550AE;--shiki-dark:#79C0FF\">  --data\u003C\u002Fspan>\u003Cspan style=\"color:#0A3069;--shiki-dark:#A5D6FF\"> '{\"subject\":\"Acme Launch Team\",\"participants\":[\"+15551234567\",\"+15559876543\"],\"description\":\"Coordination for the Q3 launch. Keep it on topic.\"}'\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fcode>\u003C\u002Fpre>",{"label":184,"id":191,"lang":78,"code":77,"html":186},"flow-2",{"label":184,"id":193,"lang":78,"code":106,"html":194},"flow-3","\u003Cpre class=\"shiki shiki-themes github-light-default github-dark-default\" style=\"background-color:#ffffff;--shiki-dark-bg:#0d1117;color:#1f2328;--shiki-dark:#e6edf3\" tabindex=\"0\">\u003Ccode>\u003Cspan class=\"line\">\u003Cspan style=\"color:#953800;--shiki-dark:#FFA657\">curl\u003C\u002Fspan>\u003Cspan style=\"color:#0550AE;--shiki-dark:#79C0FF\"> --request\u003C\u002Fspan>\u003Cspan style=\"color:#0A3069;--shiki-dark:#A5D6FF\"> GET\u003C\u002Fspan>\u003Cspan style=\"color:#CF222E;--shiki-dark:#FF7B72\"> \\\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#0550AE;--shiki-dark:#79C0FF\">  --url\u003C\u002Fspan>\u003Cspan style=\"color:#0A3069;--shiki-dark:#A5D6FF\"> https:\u002F\u002Fapi.wapito.com\u002Fv1\u002Fgroups\u002F120363041234567890@g.us\u002Finvite\u003C\u002Fspan>\u003Cspan style=\"color:#CF222E;--shiki-dark:#FF7B72\"> \\\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#0550AE;--shiki-dark:#79C0FF\">  --header\u003C\u002Fspan>\u003Cspan style=\"color:#0A3069;--shiki-dark:#A5D6FF\"> 'Authorization: Bearer wpt_YOUR_TOKEN'\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fcode>\u003C\u002Fpre>",1790464904239]