Title: Answers Agent sync
Author: bethurban
Published: July 31, 2026

---

 1. [Integrations](https://docs.wpvip.com/integrations/)
 2. [Integrations Center](https://docs.wpvip.com/integrations/center/)
 3. [Answers Agent](https://docs.wpvip.com/integrations/center/answers-agent/)
 4. Answers Agent sync

#  Answers Agent sync

**Answers Agent** sync is the process by which WordPress VIP sends WordPress content
to Salesforce Data 360 (Data Cloud) so that the agent can retrieve and answer questions
based on that content.

## How Answers Agent sync works

WordPress VIP sends eligible WordPress content to Data Cloud with the Salesforce
Ingestion API.

The sync process does 3 things:

 1. Selects content based on the sync configuration.
 2. Transforms and sends eligible content to Salesforce.
 3. Lets Salesforce index the content so Agentforce can retrieve it.

There are 3 different ways to sync content:

 1. Bulk sync from the VIP Dashboard.
 2. Ongoing automated sync whenever WordPress post content is updated.
 3. Custom code sync.

The bulk sync is described in the Answers Agent Setup Wizard in the VIP Dashboard.
Sync all posts or posts based on categories.

## Ongoing automated sync

WordPress post content is automatically synced whenever a post is saved, published,
unpublished, or deleted. WordPress VIP does not make Salesforce API calls during
normal content saves. Content changes are processed asynchronously, so normal publishing
workflows remain fast even if Salesforce is under load.

### When content is saved or updated

When a post is saved or updated:

 1. WordPress VIP adds the post to an ingestion queue.
 2. WordPress Cron processes the queued update later.
 3. WordPress VIP sends the updated item to Salesforce.
 4. Salesforce indexes the updated content.

### When content is deleted

When a post is deleted:

 1. WordPress VIP adds the item to a delete queue.
 2. The queued delete is processed later.
 3. Salesforce removes the item from the indexed content after processing.

Large bulk deletes can take longer to process. The delete queue is capped to prevent
unbounded growth. If a bulk delete exceeds the cap, some deletions can be processed
immediately instead of waiting for the next cron run.

## Custom code sync

To use a more customized sync, use the `vip_agentforce_should_ingest_post` filter
to control which posts are synced to Salesforce.

For each published post, the plugin runs this filter to ask, “Should this be synced?”

### Parameters

 * `$should_ingest (bool|null)`: The current sync decision, or null if nothing is
   decided yet.
 * `$post (WP_Post)`: The post being evaluated. Always a published post.

Returns `bool`: `true` to sync, `false` to skip.

### Examples

Sync only posts tagged as `knowledge-base`:

    ```lang-php
    add_filter(
    	'vip_agentforce_should_ingest_post',
    	function ( $should_ingest, WP_Post $post ) {
    		// Respect a decision an earlier rule already made to skip this post.
    		if ( false === $should_ingest ) {
    			return false;
    		}
    		// Sync only posts with the "knowledge-base" tag.
    		return has_tag( 'knowledge-base', $post );
    	},
    	10,
    	2
    );
    ```

Sync only posts explicitly flagged via a custom field:

    ```lang-php
    add_filter(
    	'vip_agentforce_should_ingest_post',
    	function ( $should_ingest, WP_Post $post ) {
    		if ( false === $should_ingest ) {
    			return false;
    		}
    		// Sync only posts where the "sync_to_agentforce" custom field is set to "yes".
    		return 'yes' === get_post_meta( $post->ID, 'sync_to_agentforce', true );
    	},
    	10,
    	2
    );
    ```

**Note**

There is no need to check whether the post is published — only published posts reach
this filter.

Checking `if ( false === $should_ingest ) return false;` is recommended so your 
rule doesn’t accidentally re-enable a post that another rule (or the built-in category
filter) already chose to skip.

Remember to pass `10, 2` as the last two arguments to `add_filter` so the callback
receives the `$post`.

## Initial sync and ongoing sync

The first sync can include a large amount of content. It can take time for WordPress
VIP to submit the content and for Salesforce to index it.

After the first sync, most sync activity is incremental. Updates are queued, processed
in batches, and indexed by Salesforce.

## Indexing delays

A completed WordPress-side sync means WordPress VIP finished processing and submitted
matching items to Salesforce. It does not always mean the content is already available
in Answers Agent responses.

Salesforce may need more time to apply mapping changes, update search indexes, or
make new content available to the agent.

Under normal conditions, wait 15 to 30 minutes for small updates before treating
delayed Answers Agent responses as a problem. Larger syncs and Salesforce indexing
operations can take longer. In some cases, Salesforce indexing can take around 1
hour.

Last updated: July 31, 2026