WordPress
The WordPress integration combines the WordPress REST API with the Echo plugin for the cleanest sync story in the platform. Initial import pulls every published post; after that, webhooks fire on publish, update, and delete events, keeping your assistant current without any manual refresh.
On this page
Why use this
- Your site runs on WordPress and you publish content regularly.
- You want real-time sync — new posts appear in the assistant within seconds of publishing.
- You want updates and deletes mirrored automatically.
- You're comfortable installing a WordPress plugin for verification.
How it works
The integration has two parts.
- Initial import via REST API. Echo calls your WordPress REST endpoint (
/wp-json/wp/v2/posts,/wp-json/wp/v2/pages, etc.) and pulls every published post. The HTML body is converted to Markdown so headings, lists, and code blocks survive intact. If Markdown conversion fails for a post, Echo falls back to plain text. - Ongoing sync via Echo plugin webhooks. The Echo WordPress plugin registers as a verified source on your site and posts events to Echo when content changes. Publish a new post → Echo creates a content item. Update a post → Echo refreshes the item. Delete a post → Echo removes the item.
Each synced post carries its WordPress ID, slug, type, status, author, and taxonomies as metadata. The original WordPress permalink is preserved so visitors can click through from citations.
How it differs from related options
- vs Website synced source — Website crawls via sitemap and re-crawls on demand. WordPress uses the REST API + webhooks, which is faster, more reliable, and updates in real time. If you have WordPress, prefer this.
- vs URL manual upload — URL handles one page at a time with manual refresh. WordPress imports every post and stays in sync without intervention.
- vs the WordPress plugin guide — that guide covers the plugin's full feature set (chat widget embed, etc.). This page is about using the plugin for content sync only.
Step-by-step setup
- Install and activate the Echo WordPress plugin on your site. The plugin handles verification and registers the webhook endpoints.
- In Echo, open Integrations from the dashboard's Synced content sources section.
- Click Add source and select WordPress.
- Enter your WordPress site URL (e.g.
https://example.comorhttps://example.com/blog). Echo accepts URLs with or withouthttp(s)and with or without a trailing slash. - Complete the verification step. Echo confirms the plugin is active and the REST API is reachable.
- Select which assistant should receive the synced content.
- Submit. Initial import begins in the background.
Watch the integration card status. Once initial import completes, future changes sync within seconds.
Common errors and troubleshooting
- "Plugin not detected" — the Echo WordPress plugin isn't installed or isn't activated. Re-check the plugin status in WP Admin → Plugins.
- "REST API not reachable" — WordPress security plugins (Wordfence, iThemes, etc.) sometimes block REST API access by default. Whitelist Echo or enable the REST API for the relevant endpoints.
- "Failed to fetch WordPress content" — a specific post returned a non-2xx response during import. 4xx responses are treated as "deleted" and skipped silently; other errors are logged on the integration.
- Posts not syncing in real time — webhooks may have failed to register, or your host blocks outbound HTTP. Check the plugin's settings panel for webhook delivery logs.
- Content looks like raw HTML — Markdown conversion failed and Echo fell back to plain text. This is usually fine for AI ingestion; check the source post for unusual shortcodes or invalid HTML.
- Old posts still in the library after deleting in WordPress — confirm the webhook fired (plugin logs). For one-off cleanup, refresh the integration to force a full re-sync.
Custom post types
Echo supports the standard
posts and pages types by default. Custom post types are imported when exposed through the REST API and registered with the Echo plugin.