Chatbot Creation
Train With Your Data
Train your AI agent on your own content (your website, documents, Q&A pairs, products and more) so it can introduce your business, answer questions from your documents, and handle questions specific to your field. This page shows how to add each kind of source.
Training applies to chatbots of type custom-data-upload, the default for new chatbots. The AI model that writes the answers is chosen separately, in Settings > Model (see Chatbot Basic Configuration).
Train your AI agent, start to finish
- Open your chatbot and click Sources.
- Pick a source tab: Website, File, Text, Q&A, Video, Product, Google Drive or Notion.
- Add your content (see the section for each source below).
- Review the extracted text with the eye icon.
- Click Create Chatbot (first time) or Retrain Chatbot.
- Wait for training to finish, then test your AI agent in the Playground.
Why "kept whole" matters: see Structured vs Unstructured Data.
Which source should I use?
| Source tab | Good for | Stored as | Keeps itself up to date? |
|---|---|---|---|
| Website | Your public web pages | Chunks | Yes, scheduled re-crawl: monthly on Entry, weekly or daily on Standard and above |
| File | PDF, Word (.docx), HTML and TXT files; CSV for many records at once | Chunks (CSV: one record per row, kept whole) | No |
| Text | Short notes and quick facts | Chunks | No |
| Q&A | Your most important facts and exact answers | Kept whole, preferred | No |
| Video | Recordings, talks and tutorials (audio is transcribed) | Chunks | No |
| Product | Your store catalog (WooCommerce, Shopify, Prestashop, Magento, Shopware) | Kept whole, preferred | WooCommerce and Shopify: yes, with real-time sync |
| Google Drive | Google Docs and Sheets | Docs like .docx, Sheets like .csv | Yes: daily, weekly or monthly (plan limits apply) |
| Notion | Notion pages | Page text | Yes: daily, weekly or monthly (plan limits apply) |
Review and retrain
Every source works the same way after you add it:
- Click the eye icon next to an item to see the exact text that will be used for training.
- For files, websites, text and video transcripts, edit the text there if something is wrong. Product details can't be edited here: fix them in your store, then import again.
- Delete any items you don't want to keep.
- Click Create Chatbot (or Retrain Chatbot) to train. Changes are only used after you retrain.
Documents
Click Sources > File, choose files from your computer, then review and retrain.

| File type | What is extracted |
|---|---|
| Text page by page, with page numbers. Tables too, but at most one table per page | |
| .docx | All text, without page numbers. Tables are not extracted |
| .csv | Structured records, one per row (see below) |
| .html | Text, tables and links. Use this for private pages the crawler can't reach: save the page as an HTML file, then upload it |
| .txt | Raw text only, no tables or page numbers |
.csv
A CSV file imports many structured records at once. The first row holds the column names; each following row becomes one record (a JSON object). For example, this CSV:
| user | expected response |
|--------|-------------------|
| query1 | response1 |
| query2 | response2 |
becomes these records:
[
{"user": "query1", "expected response": "response1"},
{"user": "query2", "expected response": "response2"}
]
Don't ask the AI agent to count rows: the file is processed row by row into separate records.
Websites
- Click Sources > Website.
- Optional: open Scrape Options to clean up what gets extracted (see Page options).
- Choose a crawl method below and enter your URL(s).
- When crawling finishes, review and retrain.

Choose a crawl method
Each method extracts the text, links and tables of each page. Images, scripts, media files and documents are skipped.
| What you have | Use | What happens |
|---|---|---|
| One page | Add a Single Page | Only that URL is extracted |
| A sitemap URL | Submit Sitemap | Every URL in the sitemap is extracted. Don't submit a sitemap of sitemaps; only one level is supported |
| A list of URLs | Crawl a list of website pages | Each URL you paste (one per line) is extracted |
| A whole section of your site | Automated Full-Site Scraping | Starts at one URL and follows links. See Automatic crawl |
Page options
Scrape Options apply to every crawl method. They help you keep only useful text, so your training capacity isn't spent on menus and ads.
| Option | Use it when | Example |
|---|---|---|
| Extract only main content | Start here. Removes headers, footers, menus, sidebars and ads (header, footer, nav, .navbar, .menu, .sidebar, .advertisement, .ad) | Tick the box |
| Exclude Tags | A specific part of the page should be left out | div#sidebar |
| Include Only Tags | Only one part of the page matters | div.site-content |
| Cookies | The pages are behind a login | cookie1=value1; cookie2=value2 |

Advanced: tags and cookies
Exclude Tags and Include Only Tags take CSS selectors, separated by commas. A selector names a part of the page: div#sidebar means "the div element with the id sidebar", and div.site-content means "the div elements with the class site-content". Your web developer can tell you the right ones for your site.
Cookies let the crawler see pages as if you were logged in. Enter them separated by semicolons:
cookie1=value1; cookie2=value2; cookie3=value3
To copy them, log in to the site in Chrome, open the developer tools, and copy the whole cookie string:

Automatic crawl
Automated Full-Site Scraping starts at the URL you give and follows the links it finds, page after page. To stay on topic, it:
- Only follows URLs that start with the same prefix. For example, starting at
https://docs.example.com/api/docs/startcrawls only URLs that begin withhttps://docs.example.com/api/docs. - Only includes URLs linked from pages it has already crawled.
- Skips documents, images and media pages.
Advanced: positive and negative filters
Filters are patterns (regular expressions) that narrow which links the crawler follows.
Positive filter: only follow URLs that match. Example: start at
https://homes.example.com/california/with the positive filter/property/to collect every property page for California.
Negative filter: skip URLs that match. Example: start at
https://docs.example.com/api/docs/startwith the negative filter below to skip the pages that aren't in English (their URLs end in?hl=plus a language code):^.*\?hl=[a-zA-Z0-9-]{2,}(?:-[a-zA-Z0-9-]{2,})?$
Automated Website Retraining
Once your AI agent is trained on websites, you can schedule a job that re-fetches those pages and retrains it with the new content, so its knowledge stays up to date.
- Entry plan: monthly.
- Standard plan and above: weekly or daily.
To set it up, click Sources > Website, then Add Cron Training Job. In the window, choose:
- Page options so only the useful text is extracted.
- A crawl type:
| Crawl type | What it does on each run |
|---|---|
list | Re-fetches the same pages. Never adds or removes pages |
sitemap | Follows the sitemap. Pages no longer found are removed as obsolete |
automatic | Crawls again from the start URL. Pages no longer found are removed as obsolete |
Then pick the Schedule Frequency and click Add.
Each run uses scraping credits
Every page fetched by a scheduled job uses scraping credits. Plan the schedule so your chatbot doesn't run out: consider how many pages you track, how often they change, how big they are, and how many scraping credits you have.

Text
Click Sources > Text and type or paste plain text. It works like uploading a .txt file.

For example, you can map website URLs to page names:
https://www.producthunt.com/: Home Page
This main landing page showcases the latest and most popular products featured in ProductHunt
https://www.producthunt.com/marketplace: Discover deals for your next favorite product
List of deals from different startups
https://www.producthunt.com/launch: ProductHunt Launch Guide
This detailed guide covers common questions, dispels myths, and outlines best practices for launching your product. It provides insights into defining "success" and prepares you for a successful launch. Bookmark this page to get started.
Q&A
Q&A pairs are the best way to teach exact answers. Each pair is kept whole (never split into chunks), and the AI agent prefers them over other content because you wrote them by hand.
- Click Sources > Q&A.
- Click Add.
- Type the question and the answer.

To add hundreds or thousands of Q&As at once, put them in a CSV file and upload it in File:
| user | expected response |
|--------|-------------------|
| query1 | response1 |
| query2 | response2 |
| ... | ... |
| query1000 | response1000 |
Audio or Video
Click Sources > Video to add audio or video. Chat Data transcribes the audio into text, which is split into chunks like any other unstructured text. The pictures in a video are not used, only its sound. Review and retrain as usual.

Product
If you sell on WooCommerce, Shopify, Prestashop, Magento or Shopware, import your catalog directly instead of crawling your product pages. Compared with crawling:
- Each product stays whole. Crawling can split one product across several chunks.
- Only clean product data is imported, without page headers, footers and menus.
- More complete data. Details that aren't shown on the page, such as inventory, can still be imported.
- Real-time sync. For WooCommerce and Shopify you can set up webhook sync so store changes reach your AI agent automatically.
About your store keys. For WooCommerce, Prestashop, Magento and Shopware you paste a key from your store. Chat Data uses it only to import your products: it is encrypted while the import runs and is not saved with your chatbot. (The Order Tracking action is a separate feature that keeps its own copy of the keys you enter there.) Shopify uses a store connection instead of a key.
After any import, review and retrain. You can't edit product details in Chat Data: fix them in your store, then import again.
WooCommerce
Step 1: Get your consumer key and secret
Open your WordPress admin page. Add
/wp-adminto your site's address, for examplehttps://example.wordpress.com/wp-admin.Open the WooCommerce settings. In the left sidebar, click WooCommerce, then the Settings tab.

Start a new API key. Open the Advanced tab, then REST API, and click the Add key button.

Create the key. Enter a name, select the user, choose the
readpermission, and click Generate API key.
Copy the key pair. Copy the consumer key and consumer secret that appear.

Step 2: Import products
- In Chat Data, click Sources > Product.
- Enter your WordPress site's domain (without
http://), the consumer key and the consumer secret. - Click Import.
- Review and retrain.

This is what an imported product looks like, the information your AI agent is trained on:

Shopify
Step 1: Connect your store
You don't need a custom app or an Admin API access token. Connect your store once and Chat Data holds the credentials for you:
- From the Shopify App Store: install the Chat Data app. Your catalog is imported and trained automatically when you create your AI agent.
- From your Chat Data dashboard: open your chatbot's Integrations tab, click Integrate with Shopify, enter
your-store.myshopify.com, and approve the permissions in the Shopify window. Your catalog is imported and trained automatically as soon as the store connects.
Either way, the first import happens on its own, so you can skip Step 2 unless you want to re-import or review products before training. Both paths are covered in Add Chatbots to Shopify Stores.
Step 2: Import products from your Shopify store
Click Import Products under Sources > Product, then review and retrain.

This is what an imported product looks like:

Prestashop
Step 1: Enable the Webservice API and create a key
Open Advanced Parameters. In your Prestashop back office, go to Advanced Parameters > Webservice.
Enable the webservice. If it's off, set it to Yes and save.
Create a key. Click Add new webservice key.

Configure the key:
- Key: click Generate to create a random key.
- Key description: a name such as "Product read information".
- Enable webservice key: turn it on.
- Permissions: in the Resource column, tick GET (read-only) for each of these: configurations, attachments, categories, combinations, currencies, customizations, images, languages, manufacturers, product_customization_fields, product_feature_values, product_features, product_option_values, product_options, product_suppliers, products, specific_prices, stock_availables, tags.
Click Save.

Copy the entry point and key. Copy the webservice main entry point (shown below) and the key you generated.

Step 2: Import products from your Prestashop store
- Click Sources > Product.
- Scroll to the PrestaShop section. The Product tab lists each store type one after another, separated by OR.
- Enter the webservice main entry point and the webservice key.
- Click Import, then review and retrain.

This is what an imported Prestashop product looks like:

Magento
Step 1: Create an integration and get an access token
Open Integrations. In the Magento admin, go to System > Extensions > Integrations.

Create the integration. Click Add New Integration and fill in:
- Name: for example "Chat Data Product Import".
- Email: optional.
- Callback URL and Identity Link URL: leave empty.
Set API permissions. On the API tab, give read-only (GET) access to:
Group Resources Why Catalog Products, Categories, Inventory Product data, category names, stock (quantity, availability, backorders) Stores Settings > All Stores, Order Status Store configuration, base URLs, currency settings, order status Currency Currency Rates, Currency Symbols Prices with the right currency Attributes Product, Attribute Set Product details (materials, styles…) and product types (Bag, Clothing…) Tip: granting the whole Catalog resource covers Products, Categories and Inventory.

Optional, for order tracking: if you plan to track orders with AI Actions, also grant Sales > Operations > Orders > Actions > View. See Magento Order Tracking.
Activate it. Save, click Activate in the integrations list, then click Allow.

Copy the access token and REST API endpoint. A popup shows your credentials. Copy the Access Token exactly as shown (it is used as a Bearer token). You don't need the Access Token Secret, Consumer Key or Consumer Secret. The popup also shows your REST API Endpoint URL, which ends with
/rest.
Allow the token to be used on its own. Go to Stores > Configuration > Services > OAuth > Consumer Settings. Turn on Allow OAuth Access Tokens to be used as standalone Bearer tokens, set every other option in that section to Use System value, and save. Chat Data needs this to connect with the access token.

Step 2: Import products from your Magento store
- Click Sources > Product.
- Scroll to the Magento section. The Product tab lists each store type one after another, separated by OR.
- Enter your Magento REST API entry point (it must end with
/rest) and the access token. - Click Import, then review and retrain.
Shopware
Step 1: Create a role with product permissions
Open User & Permissions. In Shopware 6, go to Settings > User & Permissions.

Create a role. Click the Roles tab, then Add role. Enter a name such as "Chat Data Product Read" and, optionally, a description.
Set permissions. Give view (read-only) access to Product (includes manufacturer, categories, media and so on) and Currency (for price formatting). Save the role.

Step 2: Create an integration
Open Integrations. Go to Settings > System > Integrations.

Add the integration. Click Add integration and fill in:
- Name: for example "Chat Data Product Import".
- Administrator: leave unchecked.
- Roles: the role from Step 1.
Copy the credentials. Before you save, copy the Access Key ID and Secret Access Key shown.

Step 3: Import products from your Shopware store
- Click Sources > Product.
- Scroll to the Shopware section. The Product tab lists each store type one after another, separated by OR.
- Enter your store domain (without
https://), the Access Key ID and the Secret Access Key. - Click Import, then review and retrain.

Google Drive
Train on Google Docs and Google Sheets from any Google Drive account you can access.
Importing Google Drive Files
- Click Sources > Google Drive.
- Click Import from Google Drive.
- Grant access when asked.
- In the Google Drive picker, select your documents and spreadsheets.
- Review and retrain.

Google Docs are processed like .docx files; Google Sheets like .csv files.
Automated Retraining with Google Drive
- Click Sources > Google Drive.
- Click Add Cron Training Job.
- Choose Daily, Weekly or Monthly.
- Click Add (or Update when you edit an existing job).

Good to know:
- One Google Drive job per chatbot.
- Every Google Drive file you imported is retrained on the schedule.
- If you delete a file in Google Drive, your AI agent keeps the last imported version. To remove it, delete it from Sources.
Notion
Train on pages from any Notion workspace you can access.
Import Pages From Notion
Click Sources > Notion.
Click Import from Notion.
Select the pages in your Notion workspace.
Important
- Your selection decides which Notion pages Chat Data can access, for all your chatbots and any Chat Data accounts linked to this workspace.
- Keep pages that active chatbots use selected. Never deselect pages that are already selected.
- If you only need some pages, import them all, then delete the ones you don't want.
Click Allow Access in the Notion page picker to start the import.
Pages not showing up?
Notion can take up to 20 seconds to grant access. If pages don't appear after importing, repeat from step 2 with the same selection. That usually fixes it.

Automated Retraining with Notion
- Click Sources > Notion.
- Click Add Cron Training Job.
- Choose Daily, Weekly or Monthly.
- Click Add (or Update when you edit an existing job).

Good to know:
- One Notion job per chatbot.
- Every Notion page you imported is retrained on the schedule.
- If you delete a page in Notion, your AI agent keeps the last imported version. To remove it, delete it from Sources.
Schedule limits depend on your plan; see the pricing page.
Next step: set your base prompt and model in Chatbot Basic Configuration, then check answers with Debug and Optimization.
Frequently Asked Questions
When should I use the custom-data-upload backend?
Use it when you want the chatbot to answer questions about your company or website, read your documents, handle domain-specific queries, or run more complex questionnaire-style logic using your own content.
Which training sources does Chat Data support on this page?
The guide lists documents, websites, plain text, Q&A pairs, video and audio transcripts, and product imports from supported ecommerce platforms.
Which model is used by default for custom data upload, and can I switch models?
New chatbots use GPT 5.4 mini by default. You can choose another model in Settings > Model; each model shows its cost in credits per message, and larger models cost more.
Why does the guide keep mentioning the eye icon during training?
Because after files, websites, videos, or product data are imported, the eye icon lets you inspect the extracted content and review or edit it before submitting it for training.