WP Admin Automations
How to Log WordPress Plugin Activations and Deactivations to a Google Sheet
An audit trail answers the question "who turned that off?" months after the fact. Zapify adds a row to a Google Sheet every time a plugin is activated or deactivated, with the plugin's name, the status and who did it. It uses the free A plugin is activated or deactivated trigger and the Add a row to a spreadsheet action. Google Sheets is a Zapify PRO integration.
What this automation does
The automation is one trigger plus one action:
- Trigger: A plugin is activated or deactivated (
WPADMIN_PLUGIN_STATUS_CHANGED, WP Admin) - Action: Add a row to a spreadsheet (
GOOGLESHEETS_APPEND_ROW, Google Sheets)
Each change adds one row. A bulk action on the Plugins screen adds one row per plugin.
Before you start
- A Google account with access to the destination spreadsheet.
- The spreadsheet's Spreadsheet ID — the long string in its URL, between
/d/and/edit. - A header row in the sheet, added by hand once.
No other plugin needed
WP Admin is built into Zapify and uses WordPress itself, so there is nothing to install. It is a free integration.
PRO feature
Google Sheets is a Zapify PRO integration and needs a Connection under Settings → Connections. The WP Admin trigger itself 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 and click Add New.

-
Choose Google Sheets and click Connect.
-
Sign in with the Google account that has access to your sheet, and approve the permissions Google asks for.

See Connections for more on how OAuth connections work 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 plugin activations to a sheet.

Step 3: Add the "A plugin is activated or deactivated" trigger
- Click Add Trigger.
- Choose WP Admin as the app.
- Select the trigger A plugin is activated or deactivated.
- In the Plugin field, pick one plugin, or leave it on Any plugin.
- In the Status field, choose Activated, Deactivated, or Activated or deactivated to react to 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 you connected in Step 1. |
| Spreadsheet ID | Yes | The long 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. Insert tokens, one per column. |
For example, with a header row of Plugin, Status, Version, Done by:
{Plugin name}{Status}{Plugin version}{Actor username}
Step 6: Set the steps Live and save
- Set both the trigger and the action to Live. A new automation starts as Draft and will not run until its steps are Live.
- Click Save.

Tokens you can use
| Token | What it holds |
|---|---|
| Plugin name | The plugin's name, read from the plugin on disk. |
| Plugin file | The plugin's file inside the plugins folder, such as akismet/akismet.php. |
| Plugin version | The version installed now. After an update this is the new version. |
| Plugin author | The author named in the plugin. |
| Status | activated or deactivated. |
| Network-wide | yes or no. |
| Actor user ID / Actor username | The logged-in person who did it. Empty (and 0) when nobody was logged in, as with an automatic update. |
How to test it
- Deactivate and reactivate a harmless plugin.
- Two new rows should appear in the sheet within a minute.
- If not, open Zapify → Logs to see what Google answered.
Conclusion
With the free A plugin is activated or deactivated trigger and the Add a row to a spreadsheet action, you keep a record of every plugin change that anyone on the team can search. For an instant alert as well, see emailing on every activation or deactivation.
FAQs
Is this free in Zapify?
The trigger is free. The Google Sheets action needs an active Zapify PRO licence and a Connection.
How do I record the date of each change?
The WP Admin triggers do not add a date token of their own. Look in the {} picker for a general date or time token, and if there is none, the time of every run is kept under Zapify → Logs.
Can I add a header row?
Add it by hand once in the sheet. Zapify only appends new rows beneath what is there.
My connection stopped working. Why?
Google access can be revoked from Google's side. Reconnect it from Settings → Connections. See Connections.
Does it report when Zapify itself is updated?
No. Zapify cannot watch itself being replaced, so its own activation, deactivation and updates are left out. The Plugin dropdown does not list it.
Do I need to write any code?
No. Everything is configured in the Zapify visual builder.