Set Up Real-Time Data Feed Max on Wix

Use Wix Velo to create a public JSON endpoint for your chatbot

Back to Real-Time Data Feed Max
Pro Plan

What Your Feed Should Look Like

Real-Time Data Feed Max accepts any public URL returning JSON or plain text. The AI reads whatever you give it — products, services, bookable slots, property listings, menus, opening hours, anything — and uses it to answer visitor questions. There is no required shape or field name.

The one exception is Dynamic Product Cards. If you want matching items to render as visual cards in the chat, use these specific field names: name, price, description, image_url, button_link, in_stock.

Example — products (triggers Dynamic Product Cards)

{
  "products": [
    {
      "name": "Wireless Headphones Pro",
      "price": "$149.99",
      "description": "Premium over-ear wireless headphones with ANC.",
      "image_url": "https://example.com/images/headphones.jpg",
      "button_link": "https://example.com/products/headphones",
      "in_stock": true
    }
  ]
}

Example — services (any shape works)

{
  "services": [
    {
      "service": "Deep tissue massage",
      "duration_minutes": 60,
      "price_from": "$95",
      "therapists_available": ["Anna", "Mark"],
      "booking_link": "https://example.com/book/deep-tissue"
    },
    {
      "service": "Haircut & style",
      "duration_minutes": 45,
      "price_from": "$55",
      "booking_link": "https://example.com/book/haircut"
    }
  ]
}

Example — plain text (works too)

Opening hours: Mon-Fri 9-6, Sat 10-4, closed Sunday.
Delivery: Free over $30, minimum order $15, within 5 miles.
Lunch specials (weekdays only):
- Margherita pizza $12
- Caesar salad $9
- Soup of the day $7

Rule of thumb: Use descriptive field names the AI can interpret (service, duration, price, location, etc.). If Dynamic Product Cards make sense for your business, follow the exact field names above. If they don't, use whatever shape fits your data — the AI still searches it and answers questions correctly.

How Wix Differs

Unlike Shopify or WordPress, Wix does not expose a public product JSON by default. You'll need Velo, Wix's built-in developer platform (included free with any paid Wix plan), to create a small backend function that returns your data.

Good news: the whole thing is about 20 lines of code and works for Wix Stores, Wix Restaurants, Wix Bookings, and any custom Content Manager collection.

Setup via Velo HTTP Function

1
Enable Dev Mode In the Wix editor, click the top bar → Dev Mode → Turn on Dev Mode. You'll now see a Code Files panel on the left.
2
Create the HTTP function file In the Code Files panel, open Backend and create a new file named http-functions.js (the filename matters — Wix only registers functions from this exact file).
3
Paste the code below The exported function name must start with get_ — everything after becomes the URL path.
4
Publish your site HTTP functions only activate on the published site, not the editor preview.
5
Paste your feed URL into Real-Time Data Feed Max The URL format is your-site.com/_functions/aifeed.

Wix Stores products

import wixData from 'wix-data';
import { ok } from 'wix-http-functions';

export async function get_aifeed(request) {
  const result = await wixData.query('Stores/Products')
    .limit(1000)
    .find({ suppressAuth: true });

  const products = result.items.map(p => ({
    name:        p.name,
    price:       p.formattedPrice || `$${p.price}`,
    description: (p.description || '').replace(/<[^>]+>/g, '').slice(0, 200),
    image_url:   p.mainMedia,
    button_link: `https://your-site.com/product-page/${p.slug}`,
    in_stock:    p.inStock,
  }));

  return ok({
    headers: { 'Content-Type': 'application/json' },
    body: { products },
  });
}

Custom Content Manager collection (e.g. FAQs, articles)

Replace "Stores/Products" with your collection name. For example, if you built an FAQ collection:

const result = await wixData.query('FAQs')
  .limit(1000)
  .find({ suppressAuth: true });

const products = result.items.map(item => ({
  name:        item.question,
  description: item.answer,
  button_link: `https://your-site.com/faqs/${item._id}`,
}));

Tip: Replace your-site.com with your actual Wix domain (either the .wixsite.com URL or your custom domain). The _functions path works on both.

Publishing required: After any change to http-functions.js, you must click Publish in the Wix editor. The endpoint will not update from the preview mode.

Troubleshooting

I see a password page instead of JSON

Your site is in maintenance, staging, or password-protected mode. Real-Time Data Feed Max needs a fully public URL.

Real-Time Data Feed Max says the feed failed

Open the URL in a private browser window. If you don't see JSON, the URL is wrong or the endpoint is down. If you see JSON but we still fail, the response may be missing a Content-Type: application/json header or exceeding the 10,000,000 character limit.

Product cards don't render

Dynamic Product Cards require specific field names (name, price, image_url, button_link, in_stock). If your platform uses different names, reshape the response in a small custom script before exposing it.

Data looks wrong or outdated

The feed auto-refreshes every 24 hours. For immediate updates, click Refresh Now in Real-Time Data Feed Max. For live fields (price, stock), the AI pulls fresh data on every message — so the 24h cycle only affects which items are known, not their current state.

Feed size exceeded

Real-Time Data Feed Max accepts up to 10,000,000 characters (~25,000 items). If you exceed that, trim fields (skip long HTML descriptions), split your catalog, or use the standard Real-Time Data Feed alongside for secondary data.

Still stuck? Start with the simplest option for your platform and verify the URL works in a browser before pasting it into Real-Time Data Feed Max. You can always upgrade to a more advanced option later — only the URL field changes on our side.