WP All Import Automations
How to Hold Imported Posts for Review When WP All Import Creates Them
A supplier feed or spreadsheet can publish hundreds of items before anyone has looked at them. Zapify can move each newly created record to Pending Review as the import creates it, so a person approves it first. It uses the A record is imported trigger and the Update a post action. Both are free.
What this automation does
The automation is one trigger plus one action:
- Trigger: A record is imported (
WPAI_POST_IMPORTED, WP All Import) - Action: Update a post (
WP_UPDATE_POST, WordPress)
For each new post the import creates, Zapify changes its status to the one you choose.
Before you start
- WP All Import installed and active, with an import saved.
- A decision about which status new records should have, usually Pending Review or Draft.
How to build the automation
Step 1: Create a new automation
- In the WordPress admin, go to Zapify → Automations.
- Click Add New to open the builder.
- Name it clearly, such as Hold imported products for review.

Step 2: Add the "A record is imported" trigger
- Click Add Trigger.

- Choose WP All Import as the app.

- Select A record is imported.

- Configure the trigger:
| Field | Value |
|---|---|
| Post type | The type your import creates, such as Product. |
| Import | Your import, or Any import. |
| Created or updated | Created, so a record you have already approved is never changed back. |
Step 3: Add the "Update a post" action
- Click Add Action.

- Choose WordPress as the app.

- Select Update a post.

Step 4: Configure the action
| Field | Required | What it does |
|---|---|---|
| Post ID | Yes | Insert the trigger's Post ID token so the imported post is the one changed. |
| Status | No | Choose Pending Review or Draft. |
| Title / Content / Excerpt | No | Leave these empty to keep what the import saved. |

Step 5: Set the automation to run for every record
One run for every record
This trigger fires once for every record the import saves. A file with 2,000 rows starts 2,000 runs. Zapify queues the actions and runs them in the background, so the import itself is not slowed down, but keep the actions light. Open the automation's settings and set the per-user run limit (the run once per user option) to unlimited. Otherwise, for an import you start by hand, only the first record will run. Imports started by a schedule are not affected.
Each trigger and action has its own Live / Off / Draft switch. A new automation starts as a Draft and does nothing until its steps are Live.
- Set the trigger and every action to Live.
- Click Save.

Step 6: Test it
Run an import with two new rows. Open the posts list and check that both are now pending. Zapify runs the action a moment after the import saves the record.
Conclusion
With the A record is imported trigger and the Update a post action, nothing an import creates goes live without a person looking at it. To be told when the import has finished, see emailing a summary when an import is completed.
FAQs
Is this free in Zapify?
Yes. The trigger and the Update a post action are both free.
Does it change a post that the import only updates?
Not when Created or updated is Created. Records that already exist are left alone.
Will another automation react to the status change?
Zapify ignores changes caused by its own actions by default, so an automation does not trigger itself. Another plugin may still react to the change.
Why is the post still published for a moment?
Zapify queues the action and runs it just after the import saves the record, so there may be a short delay. If that is not acceptable, set the default status in the import's own settings instead.
Why did only the first record change?
The per-user run limit is probably still on, and the import was started by hand. Set it to unlimited, as described in Step 5.
Do I need to write any code?
No. Everything is configured in the Zapify visual builder.