Platform
Chatbot Builder Bulk Messaging Team Inbox Mini CRM API & Webhooks AI Integration WhatsApp Flows
Industries
E-commerce & D2C Real Estate Education Healthcare Finance & BFSI Logistics Hospitality Retail
Integrations
Learn
Learning Hub Help & Docs Connect Guides Automation Codex Blog Message Templates
Pricing Get Started →
HomeConnect › Connect Webflow to WhatsApp
Webflow Integration Guide · E-commerce

Connect Webflow to WhatsApp

Pull live order data from your Webflow eCommerce store into a WhatsApp chatbot. When a customer sends their order ID, your bot calls the Webflow Data API v2, fetches the current status and total, and replies without any manual effort.

Published 22 June 2026  ·  8 min read  ·  E-commerce

Before following this guide, read the External API Request step foundation guide. It explains every field in the step interface so this guide can stay focused on Webflow-specific values.

Webflow API v1 was sunset on 1 January 2025

If you have an older integration, any v1 tokens and v1 endpoints no longer work. This guide uses the current Webflow Data API v2 only. Regenerate your token and update endpoints if migrating from v1.

Step 1: Generate a Webflow site API token

Webflow uses site-scoped Bearer tokens for the v2 API. You generate one from inside your Webflow site settings.

1
Open your Webflow site in the Designer. Click the W icon (top left) to open Site Settings, then go to Apps and Integrations.
2
Under API Access, click Generate API Token. Give it a name like "WA.Expert".
3
Under scopes, enable ecommerce:read. Write scope is not needed for order status lookup.
4
Click Generate and copy the token immediately. It is shown only once.
Token shown once only

Webflow shows your API token exactly once at generation. Copy it before navigating away. If lost, delete the token and generate a new one from Site Settings.

Official docs

Webflow API token generation: developers.webflow.com/data/reference/authentication

Step 2: Find your Webflow Site ID

The Site ID is needed in the order lookup URL. The quickest way to get it is a one-time API call with your new token:

Get your Site ID — run once
GET https://api.webflow.com/v2/sites
Authorization: Bearer YOUR_API_TOKEN

Response (abbreviated):
{
  "sites": [
    {
      "id": "6437e5c9fa5d3b7a7c1b0001",
      "displayName": "My Webflow Store",
      "shortName": "my-webflow-store"
    }
  ]
}

Copy the "id" value. That is your Site ID.

Step 3: Fill in the External API Request step

In your WA.Expert chatbot flow, collect the customer's Webflow order ID and store it as {{order_id}}. Then add an External API Request step:

External API Request Step — WA.Expert
Select Method
GET
Request URL
https://api.webflow.com/v2/sites/YOUR_SITE_ID/orders/{{{{order_id}}}}
Select Auth Type
No Auth (Bearer token in header below)
Header Parameters
AuthorizationBearer YOUR_API_TOKEN
acceptapplication/json
Select Body Type
None (GET requests carry no body)
Choose Response Type
JSON

Field-by-field breakdown

FieldValueNotes
Select MethodGETReading an existing order.
Request URLhttps://api.webflow.com/v2/sites/YOUR_SITE_ID/orders/{{{order_id}}}Replace YOUR_SITE_ID with the ID from Step 2. {{{order_id}}} is the variable from the previous chatbot step.
Select Auth TypeNo AuthThe Bearer token goes in the Authorization header below.
AuthorizationBearer YOUR_API_TOKENInclude the word 'Bearer' followed by a space, then your token. Webflow requires this prefix unlike Wix.
acceptapplication/jsonTells Webflow to return JSON.
Select Body TypeNoneGET requests carry no body.
Choose Response TypeJSONWebflow returns structured JSON.

Step 4: Map the response to WhatsApp variables

A successful Webflow order response looks like this:

Webflow Data API v2 — GET /v2/sites/{site_id}/orders/{order_id} response (abbreviated)
{
  "orderId": "6437e5c9fa5d3b7a7c1b0099",
  "status": "unfulfilled",
  "customerInfo": {
    "fullName": "Priya Sharma",
    "email": "priya@example.com"
  },
  "totals": {
    "subtotal": { "unit": "INR", "value": "119900" },
    "total":    { "unit": "INR", "value": "129900" }
  },
  "purchasedItems": [
    {
      "productName": "Classic Cotton Kurta",
      "variantName": "Blue / M",
      "count": 2,
      "variantPrice": { "unit": "INR", "value": "64950" }
    }
  ],
  "createdOn": "2026-06-20T10:30:00.000Z"
}
Amounts are in paise (smallest unit): divide by 100

Webflow stores all monetary values as strings in the smallest currency unit. Rs. 1,299.00 is returned as '129900'. In your WhatsApp reply, either display the raw number with a note, or use a maths step to divide by 100 before showing to the customer.

Map these response paths to variables in the External API Request step:

Variable nameResponse pathExample valueNote
order_idorderId6437e5c9...Long hex ID
order_statusstatusunfulfilledSee status values below
customer_namecustomerInfo.fullNamePriya SharmaFull name in one field
order_total_rawtotals.total.value129900In paise: divide by 100
item_namepurchasedItems[0].productNameClassic Cotton Kurta
item_variantpurchasedItems[0].variantNameBlue / MColour/size if set
item_qtypurchasedItems[0].count2

Webflow order statuses: pending, unfulfilled, fulfilled, refunded, disputed. Map to plain-English labels in your reply.

Keep the WhatsApp reply in the free service window

If the customer messaged you first within the last 24 hours, your reply is a free service conversation. Respond within that window. If initiating a proactive update, use an approved Utility template at Rs. 0.115 per message.

Worked example: order status chatbot

Chatbot flow — Webflow order lookup
1. Bot: "Please send your Webflow order ID.
   You will find it in your order confirmation email."

2. Customer replies: 6437e5c9fa5d3b7a7c1b0099

3. Bot stores value as {{order_id}}

4. External API Request step fires:
   GET https://api.webflow.com/v2/sites/6437e5c9fa5d3b7a7c1b0001/orders/6437e5c9fa5d3b7a7c1b0099
   Authorization: Bearer YOUR_API_TOKEN

5. Response mapped:
   order_status    = "unfulfilled"
   customer_name   = "Priya Sharma"
   order_total_raw = "129900"   (Rs. 1,299.00 in paise)
   item_name       = "Classic Cotton Kurta"
   item_qty        = "2"

6. Bot replies:
   "Hi Priya, here is your order update:
   Status: Payment received, preparing for dispatch
   Item: Classic Cotton Kurta x2
   Total: Rs. 1,299.00
   
   You will receive a shipping notification once
   your order is dispatched."

Troubleshooting

SymptomLikely causeFix
401 UnauthorizedMissing 'Bearer' prefix or wrong tokenCheck the Authorization header reads exactly 'Bearer YOUR_TOKEN' with the word Bearer and a space. Webflow requires this prefix unlike Wix.
403 ForbiddenToken lacks ecommerce:read scopeDelete the token, generate a new one in Site Settings, and enable ecommerce:read scope.
404 Not FoundWrong Site ID in URL or order does not existConfirm your Site ID by calling GET /v2/sites. Confirm the customer's order ID is the full hex string from their confirmation email.
Amount showing as 129900Webflow returns paise, not rupeesDivide totals.total.value by 100 before displaying. Rs. 1,299.00 = 129900 paise.
'v1 endpoint no longer available'Old v1 token or URL usedRegenerate your token in Site Settings (new v2 tokens), and use api.webflow.com/v2/... URLs.
Rate limit 429Exceeding 60 requests/minute per tokenAdd a delay or cache recent responses. For high-volume bots, implement exponential backoff on 429 responses.

Common questions

Where do I generate a Webflow API token?
+
Go to your Webflow site's Settings > Apps and Integrations > API Access. Click Generate API Token, select ecommerce:read scope, and copy the token before closing the page.
Why are the order amounts showing as huge numbers like 129900?
+
Webflow returns monetary values in the smallest currency unit (paise for INR). Rs. 1,299.00 appears as '129900'. Divide by 100 in your bot or conditions step before displaying to the customer.
Does Webflow eCommerce still use API v1?
+
No. Webflow sunset API v1 on 1 January 2025. All integrations must use the v2 Data API at api.webflow.com/v2. Regenerate tokens and update endpoints if migrating from v1.
What is the Webflow Site ID and where do I find it?
+
Call GET https://api.webflow.com/v2/sites with your Bearer token. The response lists your sites with their IDs. Do this once and store the ID.
What order statuses does Webflow use?
+
Webflow statuses are: pending, unfulfilled (paid but not shipped), fulfilled, refunded, and disputed. Map these to customer-friendly labels in your WhatsApp reply.
Does this incur extra WA.Expert charges?
+
The External API Request step counts as one automation action per lookup. On the Complete plan this is included. On Starter, extra action packs apply from Rs. 49 per 1,000 actions.

Build your Webflow order bot today

Free trial, no credit card required. And if you ever get stuck, we are the only platform in India that answers you live on WhatsApp.

Start Free Trial → Book a Demo
1