WordPress Automations
Update a WordPress User Automatically When They Log In
Want to keep a user's profile current every time they sign in? Zapify automates it: when a user logs in, it updates the profile fields you choose — display name, website, and more — leaving everything else untouched. This guide builds the automation with the free A user logs in trigger and the free Update a user action, with no code.
What is this automation?
A Zapify automation follows one rule: when this happens, do this. Here the trigger is A user logs in (WordPress) and the action is Update a user (WordPress). Each time a user signs in interactively, Zapify updates the profile fields you configured. Any field you leave blank is left exactly as it was — the action only writes the fields you fill in.
Both the trigger and the action are free. Note that the login trigger fires on an interactive sign-in, not on every authenticated page view — a user browsing with a valid cookie counts as logged in once.
How to build the update-on-login automation
Step 1: Create a new automation
- In your WordPress dashboard, open Zapify → Automations.
- Click Add New to open the Builder.
- Name it clearly, such as Update User on Login.


Step 2: Add the "A user logs in" trigger
- In the Builder, pick the trigger and choose the WordPress integration.
- Select A user logs in.
This trigger fires on each successful, interactive login.



Step 3: Add the "Update a user" action
- Below the trigger, add an action and choose the WordPress integration.
- Select Update a user.



Step 4: Leave the User field empty to target the person logging in
The action's User field decides whose profile is updated. Its description reads "Leave empty to use the user this automation is running for." Because the A user logs in trigger starts this run, leaving User empty updates the person who just logged in.
Fill in User (with an ID, an email, or a token) only when you want to update a different user.

Step 5: Fill in only the fields you want to change
The Update a user action offers these fields. Leave a field empty to keep the user's current value — only the fields you fill in are written:
| Field | What it does |
|---|---|
| The user's email address. Must be valid, or the action fails. | |
| First name | The user's first name. |
| Last name | The user's last name. |
| Display name | The name shown publicly. |
| Website | The user's profile URL. |
| New password | Sets a new password. Changing it ends the user's other sessions. |
You can type fixed values or insert tokens from the trigger. If every field is left empty, Zapify skips the action rather than making an empty update.
New password logs the user out elsewhere
Filling in New password ends the user's other active sessions, which is standard WordPress behaviour. Leave it empty unless changing the password is exactly what you intend.

Step 6: Set each step Live and save
- Set the A user logs in trigger to Live.
- Set the Update a user action to Live.
- Click Save.
Each step has its own Live / Off / Draft switch. A step on Draft is skipped, so the update only runs when both are Live.

Step 7: Test it
Log in with a test user, then open that user's profile in Users → All Users and check the fields you configured. Open Zapify → Logs to confirm the run — the log shows whether the action updated the user or was skipped because every field was empty.
Tokens used in this automation
The A user logs in trigger exposes these tokens, which you can insert into the action's fields:
| Token | Value |
|---|---|
| User ID | The user who logged in. |
| Username | Their login name. |
| User email | Their email address. |
| Display name | Their display name. |
| First name / Last name | Name parts, if set. |
| User role | Their assigned role. |
| User website | Their profile URL. |
| Registration date | When they registered. |
The action outputs an Updated user ID token for any later action in the same automation.
Refining the automation (PRO)
The steps above update the profile on every login. To update only under certain circumstances — a particular role, for instance — Zapify PRO adds Conditions.
PRO feature
Conditions (deciding which logins run the update) and Delays (waiting before it runs) are Zapify PRO features. Updating a user on login, as described above, is free.
Conclusion
With the free A user logs in trigger and Update a user action, Zapify keeps profile fields current every time a user signs in — writing only the fields you fill in and leaving the rest alone. Leave User empty, configure your fields, set both steps Live, and save. To act on login in another way, see Add a user role when a user logs in.
FAQs
Does the automation run every time the user logs in?
It runs on every successful, interactive login. The A user logs in trigger listens for WordPress's login event, not for ordinary page views — so a user browsing with a valid session cookie triggers it once, when they actually sign in, not on each request.
How does Zapify know whose profile to update?
Leave the action's User field empty. Its description says "Leave empty to use the user this automation is running for," and because the login trigger starts the run, the empty field resolves to the person who just logged in. Fill in User only to update a different account.
Which fields does the update change?
Only the fields you fill in. Update a user offers Email, First name, Last name, Display name, Website, and New password — any field you leave blank keeps its current value. If you leave every field empty, Zapify skips the action instead of writing an empty update.
Will this change the user's password?
Only if you fill in the New password field. Leave it empty and the password is untouched. If you do set it, be aware WordPress ends the user's other active sessions — so use it only when changing the password is your intent.
Why wasn't the profile updated?
Check that both steps are Live, that you filled in at least one field, and that the test user actually logged in. If you set Email to something invalid, the action fails on purpose. Open Zapify → Logs — the run will show whether the action updated the user, failed validation, or was skipped because no field had a value.