WP All Import Automations
How to Add a Google Sheets Row for Each Record Imported by WP All Import
An audit trail of what an import created is useful for reviews, reports and reconciling a supplier file. Zapify can add a row to Google Sheets for each record WP All Import saves, with the A record is imported trigger and the Add a row to a spreadsheet action.
What this automation does
The automation is one trigger plus one action:
- Trigger: A record is imported (
WPAI_POST_IMPORTED, WP All Import) - Action: Add a row to a spreadsheet (
GOOGLESHEETS_APPEND_ROW, Google Sheets)
Each time the import creates (or updates) a post or user, Zapify appends one row to your sheet.
Before you start
- WP All Import installed and active, with an import saved.
- A Google account with access to the destination spreadsheet.
- The spreadsheet's Spreadsheet ID, the long string in its URL between
/d/and/edit.
PRO feature
The Add a row to a spreadsheet action is part of the Google Sheets PRO integration and needs an active Zapify PRO licence and a Connection. The WP All Import trigger is free.
How to build the automation
Step 1: Connect Google Sheets
Google Sheets connects by signing in rather than pasting a key.
- Go to Settings → Connections.

- Choose Google Sheets and click Add New.

- Sign in with the Google account that can edit your sheet and approve the permissions.
See Connections for how this works and how to reconnect one that expires.
Step 2: Create a new automation
- In the WordPress admin, go to Zapify → Automations.
- Click Add New to open the builder.
- Name it clearly, such as Log imported records to a sheet.

Step 3: 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 | Required | What it does |
|---|---|---|
| Post type | Yes | The kind of record to react to, such as Product, or Any post type. Choose Users (a user import) for an import that creates users. |
| Import | No | Pick one saved import, or leave it as Any import. |
| Created or updated | Yes | Choose Created to log only new records, Updated for changed ones, or both. |
Step 4: Add the "Add a row to a spreadsheet" action
- Click Add Action.

- Choose Google Sheets as the app.

- Select Add a row to a spreadsheet.

Step 5: Configure the action
| Field | Required | What it does |
|---|---|---|
| Connection | Yes | The Google account from Step 1. |
| Spreadsheet ID | Yes | The ID from the sheet's URL. |
| Sheet name | No | The tab to append to. Defaults to the first one. |
| Columns | Yes | One entry per column, left to right. |
For example, with columns Import, ID, Title, Created? and SKU:
{{trigger:IMPORT_NAME}}{{trigger:POST_ID}}{{trigger:POST_TITLE}}{{trigger:IS_UPDATE}}{{trigger:RECORD_SKU}}
The last one reads the <sku> column of the file being imported — see the tokens below.

Step 6: 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 7: Test it
Run a small test import, such as a file with three rows, and check that three rows appear in the sheet. Then open Zapify → Logs.
Tokens you can use
| Token | What it holds |
|---|---|
| Import ID / Import name | Which import saved the record. |
| Was an existing record updated | Yes for an update, no for a new record. |
| Post ID, Post title, Post URL, Post type, Post status and the other post tokens | The post that was saved. |
| User ID, User email, Username and the other user tokens | Filled in instead of the post tokens when the import saves users. |
{{trigger:RECORD_NAME}} style tokens |
One for each top-level field of the record in your file, named after it in capitals. A <sku> field is RECORD_SKU, and a unit price field is RECORD_UNIT_PRICE. Up to 50 are made per record. They are not listed in the token picker, because they depend on your file, so type them in. |
| The imported record (all fields, as JSON) | Every field of the record in one value. It always appears in the picker, and is handy for checking which RECORD_ names exist. |
Conclusion
With the A record is imported trigger and the Add a row to a spreadsheet action, every record an import touches leaves a line in a sheet your team can filter. For a one-off summary rather than a per-record log, see emailing when an import is completed.
FAQs
Is this free in Zapify?
The trigger is free. The Google Sheets action needs an active Zapify PRO licence and a Connection.
Will a big import slow my site down?
Zapify queues each action and runs it in the background, so the import itself is not held up. A 2,000-row file means 2,000 queued runs, which Google may take a while to accept, so allow time for them to finish.
Why did only one row appear?
The automation's per-user run limit is probably still on, and the import was started by hand. Set it to unlimited, as described in Step 6.
Will a large import switch the automation off?
Zapify protects itself against runaway automations by switching one off when it runs far too often. This trigger is held to a much higher limit, 5,000 runs a minute, so a normal import is fine.
How do I log only new records?
Set Created or updated to Created.
Do I need to write any code?
No. The connection and every field are configured visually.