SendApp Docs
Log in

Inbound webhook (Integrations)

POST https://app.sendapp.ai/api/integrations/webhook/{token}
Receive contacts from external platforms (Shopify, WooCommerce, HubSpot, Klaviyo, Pipedrive and others). On each event we extract the contact (name / phone / email), create or update it in SendApp and tag it with the source platform (e.g. shopify). No message is sent: reach those contacts later with a Campaign (by tag) or via API.
The payload can be any JSON: we recursively search for phone, email and name keys at any depth. Typical response: { "status": "ok", "contact": { "id": 12345 } }.
If we find neither phone nor email, we respond 200 with status: ignored, so the source platform keeps the webhook active.
Consigliato: proteggi il webhook con una chiave. Il token dell'account compare nel codice del widget sul tuo sito, quindi è pubblico. Genera una chiave dedicata da Integrazioni → Webhook e inviala nell'header X-Webhook-Secret: da quel momento solo chi la conosce può inviare contatti al tuo account. La chiave è mostrata una sola volta, puoi rigenerarla quando vuoi (la precedente smette subito di funzionare) e le integrazioni che non la usano continuano a funzionare finché non decidi di renderla obbligatoria.

Parameters

3 · 1 required
token required
Account token, in the URL path. Determines which account receives the contacts.
source optional
Query string, e.g. ?source=shopify. Used as the contact tag; if missing, the User-Agent is used.
X-Webhook-Secret optional
Header. The dedicated key generated in Integrations → Webhook. Recommended: without it the only thing that authenticates the call is the account token, which is public. If you send a wrong key the request is rejected with 401.
Need help with the integration? info@sendapp.live