How to use a Google Sheet as your AI product catalog
Point Botline at your existing product Sheet, map your columns, and the AI starts answering "do you have X in stock?" from your live data.
Before you start
You'll need:
- A Google account (personal or Workspace) with access to the Sheet you want to use.
- A Botline tenant on any paid tier — Starter, Pro, or Enterprise. (Free tier does not include Sheets sync.)
- A Google Sheet with at least two columns: Name and Price. Everything else is optional.
If you don't have a Sheet yet, skip step 3 — Botline will create a starter Sheet for you on first connect.
Step-by-step: connect and import
- Go to /dashboard/integrations. Look for the Google Sheets card.
- Click "Connect Google Sheets". You'll be redirected to Google's OAuth consent screen. Allow access to Drive (read your Sheets) and Sheets (read + write rows). Botline stores a refresh token and never sees your password.
- After OAuth completes, click "Connect Catalog Sheet". The Google Picker opens — find and select the Sheet you already keep your products in.
- Map your columns. Botline auto-detects common headers (Name / Product / Item, Price / Cost / Rate, Stock / Quantity / Available, etc.) including Bahasa Malaysia and Urdu equivalents. Confirm or override the suggestions. Required: Name and Price. Optional: stock, SKU, description, image URL, category.
- Click Save. Botline pulls the first sync immediately and re-syncs every 5 minutes after that.
- Done. Send your AI a test question like "what flavours do you have?" — it now answers from your Sheet.
Column tips
A few small details that save support tickets later:
- Stock column accepts
yes/no,true/false,in-stock/out-of-stock, or any positive integer (treated as quantity). Empty cells are treated as in-stock. - Price column can include the currency symbol (
RM 25,Rs 1,500,$12.50) — Botline strips it on import. Use the same currency as your tenant's default in Settings. - Image URL column should point to a publicly accessible image (Drive sharing links work, as do CDN URLs). The AI uses it for product cards in WhatsApp + Instagram.
- Description column can be free-form. The AI quotes from it when asked "tell me more about X."
You can edit your Sheet anytime — change a price, add a new row, mark something out of stock — and Botline picks up the change on the next 5-minute sync. No re-import, no rebuild.
Limits and gotchas
- 10,000 rows per Sheet for v1. If your catalog is larger, split it across multiple tabs and connect them separately (we're raising this in v2).
- One catalog Sheet per tenant. If you change your mind, click Disconnect on the card and re-pick a different Sheet.
- Header row required. Row 1 must contain column headers (Name, Price, etc.) — Botline reads from row 2 onwards.
- Token expiry. Google refresh tokens occasionally expire (account password change, security review, 6 months idle). The card shows a Reconnect button when this happens — one click and you're back in. No data is lost.
What about leads, orders, and bookings?
Connecting Google Sheets does two things, not one:
- Catalog import (this guide) — Botline reads your product Sheet so the AI can answer with live inventory.
- Lead/order/booking export (automatic) — Botline writes every new lead, every Shopify/WooCommerce order, and every appointment booking into a separate workbook it creates in your Drive on first connect.
You don't have to set up the export — it just works the moment you OAuth. Open the workbook anytime via the "Open Workbook" link on the Sheets card. Read the launch announcement: Botline now syncs your leads, orders, and bookings into Google Sheets.