Connect WordPress
Rules that decide what leaves your site, which fields travel with it, and where it lands.
What it does
The WelcomeAI plugin keeps your WordPress content in your knowledge bases. You write rules; each rule says which content leaves the site, which fields travel with it, and which base it lands in. After the first sync it looks after itself: publish a post and it appears, edit it and the document updates, delete it and the document goes.
It does not install the chat widget. That is a separate job and it belongs in your workspace: create a widget there and paste its one-line script into your theme, the same way as on any other site.
What it can access
Only what your rules ask for, and by default only what a visitor could already read.
A rule covers one content type -- posts, pages, a custom type your site registers, or WooCommerce products -- and you choose the statuses it includes. Published only, to begin with. It never reads your WordPress passwords, and nothing about your installation is stored beyond the site URL and the content your rules select.
What it needs before you start
- WordPress 6.2 or newer, PHP 8.0 or newer.
- An administrator account on the site, to install a plugin.
- A WelcomeAI workspace on any plan, Starter included.
- At least one knowledge base to send content to.
Authentication
Three values, all from WelcomeAI:
The plugin validates the key together with the user ID before it unlocks anything else, so a wrong value fails at the connection step rather than silently doing nothing later. The key is stored encrypted in your WordPress options table; treat the site as you would any other place that holds a credential. You can also put it in wp-config.php instead, where it never reaches the database:
define( 'WELCOMEAI_API_KEY', 'wai_live_...' );
define( 'WELCOMEAI_USER_ID', 'your-user-id' );Setting it up
- Download the plugin from Integrations in your workspace.
- Upload and activate it: Plugins, Add New, Upload Plugin, choose the zip. A WelcomeAI entry appears in the admin menu.
- Paste your User ID and the API key, and press Validate. It tells you which of the two is wrong if one is.
- Write your first rule under Sync rules: pick a content type, the knowledge base it feeds and the fields to include. The rule counts what it matches before you run it.
- Press Sync everything under Activity. A catalogue of thousands goes out in batches rather than timing out.
Writing rules
A rule is four decisions.
- The content type. One per rule. Everything else on the form comes from it, which is why it is the first question.
- The knowledge bases. Pick more than one and the content lands in each of them, as its own document. Two rules feeding the same base produce one document carrying both sets of fields.
- The filters. One block per taxonomy the type has. Tick nothing and the rule covers every item; tick terms and it covers only those, or everything except those. Tick "include child terms" on a hierarchical taxonomy and a parent category brings its children with it.
- The fields. What is written into the document the assistant reads.
Some examples of what that gives you:
- Every post to a base called Posts, and posts in Guides to a second base as well.
- The
servicescustom type to a Services base,teamto a Team base. - Products to a Products base, but not the ones tagged discontinued.
What is imported
The plugin reads what each content type actually has and lists it: the core fields (title, content, excerpt, featured image, URL, author, dates, status, slug, parent, menu order), every taxonomy registered against the type, the meta keys your posts carry, ACF field groups, JetEngine meta fields, and the WooCommerce product fields.
Two things worth knowing:
- Everything you tick is written into the document body, because that is the part the assistant can read. A field that is empty on an item is simply left out of that document.
- Keys beginning with an underscore are hidden by default. They are usually a plugin's own bookkeeping -- ACF writes a companion
_hero_textbeside everyhero_text-- but if one of yours holds real text, turn on "Offer protected custom fields" under Connection.
If you add a field after installing a plugin that registers it, press Rescan fields.
WooCommerce
A rule whose content type is Products offers the shop's own fields: SKU, price, regular and sale price, stock and stock status, attributes, weight and dimensions, shipping class, gallery alt text, purchase note, product type, rating and related products.
Variations live inside their product. One document per product, listing every variation with its own SKU, price and stock, so "do you have the black one in medium, and what does it cost" is answered from one place. A shop with 500 products and six variations each stays 500 documents rather than 3,500.
Shipping is not on any product, so there is a second option: Also send a Store information document. It carries your shipping zones and what each method costs, the ways to pay you have enabled, your currency, the store address and your policy pages, and it is rebuilt when you change any of them. Without it, "how much is delivery" has no answer.
How updates are handled
Every document is keyed on the post id and the base it went to, so editing a post updates the same document rather than creating a second one. Deleting a post -- or unpublishing it, or taking it out of a category a rule filters on, or editing the rule so it no longer covers it -- removes the document, its chunks and its embeddings from that base.
The plugin also updates itself. It checks your workspace twice a day and offers a new version on the Plugins screen while the workspace's subscription is active. It never updates on its own.
What people use it for
Answering support questions from an existing help section. Making documentation searchable in a way that tolerates the words a customer actually uses. Letting a shop's assistant answer about a specific product -- its price, whether the medium is in stock, what delivery costs -- from the catalogue itself.
How syncing works
Nothing is scheduled for you after the first run: a change reaches the knowledge base on its own, usually within a minute. Publishing, editing, deleting, moving a post between categories, editing a custom field a rule selects, changing a variation's price -- all of them queue the item and the queue drains in the background, in batches of 25.
- Nothing is sent when nothing changed. Pressing Update on a post you did not edit costs no request.
- The queue is paced. Each plan has a daily API allowance, and a batch of 25 items is one request. If a big first sync spends it, the plugin pauses and says when it will start again.
- On a WooCommerce site it uses Action Scheduler, which WooCommerce already installs. Elsewhere it uses WP-Cron.
- On a large site, use WP-CLI:
wp welcomeai syncruns to completion without a browser tab staying open.wp welcomeai statussays where things stand, andwp welcomeai reconcilechecks the knowledge bases against the site.
What is removed, and when
A document leaves its knowledge base when the item behind it no longer belongs there:
- the post is deleted, trashed or unpublished;
- it loses the category the rule filters on;
- you edit the rule so it no longer covers it, or delete the rule;
- you press Remove on the Content tab.
Nothing is ever duplicated. Every document keeps a reference back to the item it came from, so an edit updates that document rather than adding a second one, and re-running a sync recognises what is already there.
Check for orphans, on the Activity tab, reads what each knowledge base holds and compares it with your site: anything the site cannot account for is removed, and anything missing is sent. Run it if documents were deleted in the app, or if the site was disconnected while content changed.
How to check it is working
- The Content tab lists every item this site has sent, per knowledge base, with its state and when it last synced. Filter by state to find anything in error.
- The Activity tab shows what is waiting, what is in a base and what failed, plus the last events.
- In your workspace, the knowledge base shows the documents and Connected sources lists the site with its plugin version.
- Ask the assistant something only that content answers. The citation should be the post.
Upgrading from version 1
Your settings become rules: one per post type you were syncing, feeding the base you were pointed at, carrying the fields version 1 sent. Nothing is re-sent and nothing is re-indexed -- the plugin reads what the base already holds and recognises it.
The widget settings disappear, and a notice says so once. If your site was loading the chat widget through the plugin, open the widget in your workspace and paste its script into your theme; until you do, the widget is not on the site.
Common errors
Invalid credentials. The key or the user ID is wrong, or they belong to different workspaces. Both are on the API keys page.
This plan does not include the REST API. The workspace's subscription has lapsed. Every paid plan includes the connector.
API unreachable. The site cannot reach app.welcomeai.dev. Firewalls and WP_HTTP_BLOCK_EXTERNAL in wp-config.php are the usual causes.
Daily API limit reached. A first sync of a large site can spend the plan's daily allowance. The plugin pauses and resumes on its own; the Activity tab says when.
Items stuck at "waiting". Nothing is draining the queue. On a site with little traffic WP-Cron fires rarely: press Send what is waiting, or run wp welcomeai sync.
Posts sync but answers do not mention them. Give indexing a minute, then check the document is indexed in the knowledge base. If the content is behind a page builder that renders with JavaScript, what the plugin sends may be thinner than what a visitor sees.
Reconnecting
Paste a new key and press Validate. Rules, the record of what has been sent and the queue are all kept. If the key was revoked, updates stop being offered until a valid one is in place.
Disconnecting
Deactivating the plugin stops updates; the documents stay in the knowledge base and the site keeps its record of them, so reactivating carries on where it left off.
Deleting the plugin removes its settings, rules and tables from the site and nothing from any knowledge base. To remove the content too, delete the WordPress source in Connected sources, or the documents themselves.