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

  1. Open your chatbot and click Sources.
  2. Pick a source tab: Website, File, Text, Q&A, Video, Product, Google Drive or Notion.
  3. Add your content (see the section for each source below).
  4. Review the extracted text with the eye icon.
  5. Click Create Chatbot (first time) or Retrain Chatbot.
  6. Wait for training to finish, then test your AI agent in the Playground.

Add a source, review the extracted text with the eye icon, then click Create or Retrain Chatbot. Structured data (Q&A, CSV, products) is kept whole and preferred; unstructured data (documents, websites, text, audio and video) is split into chunks

Why "kept whole" matters: see Structured vs Unstructured Data.

Which source should I use?

Source tabGood forStored asKeeps itself up to date?
WebsiteYour public web pagesChunksYes, scheduled re-crawl: monthly on Entry, weekly or daily on Standard and above
FilePDF, Word (.docx), HTML and TXT files; CSV for many records at onceChunks (CSV: one record per row, kept whole)No
TextShort notes and quick factsChunksNo
Q&AYour most important facts and exact answersKept whole, preferredNo
VideoRecordings, talks and tutorials (audio is transcribed)ChunksNo
ProductYour store catalog (WooCommerce, Shopify, Prestashop, Magento, Shopware)Kept whole, preferredWooCommerce and Shopify: yes, with real-time sync
Google DriveGoogle Docs and SheetsDocs like .docx, Sheets like .csvYes: daily, weekly or monthly (plan limits apply)
NotionNotion pagesPage textYes: daily, weekly or monthly (plan limits apply)

Review and retrain

Every source works the same way after you add it:

  1. Click the eye icon next to an item to see the exact text that will be used for training.
  2. 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.
  3. Delete any items you don't want to keep.
  4. 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.

Sources > File: the upload area and the list of already included files, with the Sources summary and Retrain Chatbot on the right

File typeWhat is extracted
.pdfText page by page, with page numbers. Tables too, but at most one table per page
.docxAll text, without page numbers. Tables are not extracted
.csvStructured records, one per row (see below)
.htmlText, tables and links. Use this for private pages the crawler can't reach: save the page as an HTML file, then upload it
.txtRaw 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

  1. Click Sources > Website.
  2. Optional: open Scrape Options to clean up what gets extracted (see Page options).
  3. Choose a crawl method below and enter your URL(s).
  4. When crawling finishes, review and retrain.

Sources > Website: Scrape Options, Add a Single Page, Submit Sitemap, Crawl a list of website pages and Automated Full-Site Scraping

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 haveUseWhat happens
One pageAdd a Single PageOnly that URL is extracted
A sitemap URLSubmit SitemapEvery URL in the sitemap is extracted. Don't submit a sitemap of sitemaps; only one level is supported
A list of URLsCrawl a list of website pagesEach URL you paste (one per line) is extracted
A whole section of your siteAutomated Full-Site ScrapingStarts 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.

OptionUse it whenExample
Extract only main contentStart here. Removes headers, footers, menus, sidebars and ads (header, footer, nav, .navbar, .menu, .sidebar, .advertisement, .ad)Tick the box
Exclude TagsA specific part of the page should be left outdiv#sidebar
Include Only TagsOnly one part of the page mattersdiv.site-content
CookiesThe pages are behind a logincookie1=value1; cookie2=value2

Scrape Options: Exclude Tags, Include Only Tags, Cookies and Extract only main content

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:

Get Cookies

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:

  1. Only follows URLs that start with the same prefix. For example, starting at https://docs.example.com/api/docs/start crawls only URLs that begin with https://docs.example.com/api/docs.
  2. Only includes URLs linked from pages it has already crawled.
  3. 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.

    Automated Full-Site Scraping with the positive filter /property/ and the detected property URLs

  • Negative filter: skip URLs that match. Example: start at https://docs.example.com/api/docs/start with 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 Full-Site Scraping with a negative filter that skips ?hl= language URLs, and the detected English URLs

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 typeWhat it does on each run
listRe-fetches the same pages. Never adds or removes pages
sitemapFollows the sitemap. Pages no longer found are removed as obsolete
automaticCrawls 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.

Add Cron Training Job window: page options, List / Sitemap / Automatic Scraping tabs, the URL list and Schedule Frequency

Text

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

Sources > Text with plain text typed into the text box

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.

  1. Click Sources > Q&A.
  2. Click Add.
  3. Type the question and the answer.

Sources > Q&A with the Add button and existing question and answer pairs

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.

Sources > Video: add a YouTube link or upload a video file, with the already included videos below

Product

If you sell on WooCommerce, Shopify, Prestashop, Magento or Shopware, import your catalog directly instead of crawling your product pages. Compared with crawling:

  1. Each product stays whole. Crawling can split one product across several chunks.
  2. Only clean product data is imported, without page headers, footers and menus.
  3. More complete data. Details that aren't shown on the page, such as inventory, can still be imported.
  4. 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

  1. Open your WordPress admin page. Add /wp-admin to your site's address, for example https://example.wordpress.com/wp-admin.

  2. Open the WooCommerce settings. In the left sidebar, click WooCommerce, then the Settings tab.

    WooCommerce Setting

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

    Add WooCommerce API key

  4. Create the key. Enter a name, select the user, choose the read permission, and click Generate API key.

    Create WooCommerce API key pair

  5. Copy the key pair. Copy the consumer key and consumer secret that appear.

    WooCommerce API key

Step 2: Import products

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

Sources > Product: WooCommerce Store Domain, Consumer Key and Consumer Secret filled in, and the Import button

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

WooCommerce product view

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.

Sources > Product with a connected Shopify store and the Import Products button

This is what an imported product looks like:

Shopify product view

Prestashop

Step 1: Enable the Webservice API and create a key

  1. Open Advanced Parameters. In your Prestashop back office, go to Advanced Parameters > Webservice.

  2. Enable the webservice. If it's off, set it to Yes and save.

  3. Create a key. Click Add new webservice key.

    Prestashop Webservice Menu

  4. 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.

    Configure Prestashop API permissions

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

    Webservice Main Entry Point

Step 2: Import products from your Prestashop store

  1. Click Sources > Product.
  2. Scroll to the PrestaShop section. The Product tab lists each store type one after another, separated by OR.
  3. Enter the webservice main entry point and the webservice key.
  4. Click Import, then review and retrain.

Sources > Product: Prestashop Webservice Main Entry Point and Webservice Key filled in, and the Import button

This is what an imported Prestashop product looks like:

Prestashop product view

Magento

Step 1: Create an integration and get an access token

  1. Open Integrations. In the Magento admin, go to System > Extensions > Integrations.

    Navigate to Magento Integrations

  2. 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.
  3. Set API permissions. On the API tab, give read-only (GET) access to:

    GroupResourcesWhy
    CatalogProducts, Categories, InventoryProduct data, category names, stock (quantity, availability, backorders)
    StoresSettings > All Stores, Order StatusStore configuration, base URLs, currency settings, order status
    CurrencyCurrency Rates, Currency SymbolsPrices with the right currency
    AttributesProduct, Attribute SetProduct details (materials, styles…) and product types (Bag, Clothing…)

    Tip: granting the whole Catalog resource covers Products, Categories and Inventory.

    Create Integration Permissions

    Optional, for order tracking: if you plan to track orders with AI Actions, also grant Sales > Operations > Orders > Actions > View. See Magento Order Tracking.

  4. Activate it. Save, click Activate in the integrations list, then click Allow.

    Activate Magento Integration

  5. 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.

    Access Token After Activation

  6. 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.

    Enable Bearer Token in Magento

Step 2: Import products from your Magento store

  1. Click Sources > Product.
  2. Scroll to the Magento section. The Product tab lists each store type one after another, separated by OR.
  3. Enter your Magento REST API entry point (it must end with /rest) and the access token.
  4. Click Import, then review and retrain.

Shopware

Step 1: Create a role with product permissions

  1. Open User & Permissions. In Shopware 6, go to Settings > User & Permissions.

    Navigate to Shopware User Permissions

  2. Create a role. Click the Roles tab, then Add role. Enter a name such as "Chat Data Product Read" and, optionally, a description.

  3. Set permissions. Give view (read-only) access to Product (includes manufacturer, categories, media and so on) and Currency (for price formatting). Save the role.

    Configure Shopware Role Permissions 1 Configure Shopware Role Permissions 2

Step 2: Create an integration

  1. Open Integrations. Go to Settings > System > Integrations.

    Navigate to Shopware Integrations

  2. 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.
  3. Copy the credentials. Before you save, copy the Access Key ID and Secret Access Key shown.

    Create Shopware Integration

Step 3: Import products from your Shopware store

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

Sources > Product: Shopware Store Domain, Access Key ID and Secret Access Key filled in, and the Import button

Google Drive

Train on Google Docs and Google Sheets from any Google Drive account you can access.

Importing Google Drive Files

  1. Click Sources > Google Drive.
  2. Click Import from Google Drive.
  3. Grant access when asked.
  4. In the Google Drive picker, select your documents and spreadsheets.
  5. Review and retrain.

Importing files from Google Drive

Google Docs are processed like .docx files; Google Sheets like .csv files.

Automated Retraining with Google Drive

  1. Click Sources > Google Drive.
  2. Click Add Cron Training Job.
  3. Choose Daily, Weekly or Monthly.
  4. Click Add (or Update when you edit an existing job).

Sources > Google Drive with the Schedule Frequency window (Daily, Weekly, Monthly) opened from Add Cron Training 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

  1. Click Sources > Notion.

  2. Click Import from Notion.

  3. 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.
  4. 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.

  5. Review and retrain.

Importing pages from Notion

Automated Retraining with Notion

  1. Click Sources > Notion.
  2. Click Add Cron Training Job.
  3. Choose Daily, Weekly or Monthly.
  4. Click Add (or Update when you edit an existing job).

Setting up Notion pages cron 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.

Previous
Full Chat Data Features Video