You have a spreadsheet of team details, job titles, social links, a one-line bio, and a set of ACF fields on the user profile waiting to hold them. Typing them into each profile by hand is slow and error-prone, especially once the roster runs past a dozen people. This moves the values across in a controlled way, matched to real accounts, and shown to you before anything saves.
Because it writes to profiles, it runs the two-pass, wait-for-approval flow, and it works only with ACF fields that already exist.
I have a spreadsheet of profile details and matching ACF user fields to fill.ACF is already active and the user field group already exists. Here is thedata:
[paste rows: email, job_title, twitter_url, short_bio ...]
First pass, change nothing: match each row to an existing user by [email], readthe current ACF values on those users, and hand me a before-and-after table forthe first [10], current value beside the value from my sheet. Only fill blanksunless I say otherwise, and list any row you cannot match to a real account.
I will tell you which to keep. Only after I say so, write the approved ACFfield values by field key, in small batches, showing me each batch before itsaves. At the end, list every user you changed and every row you had to skip.Why this is safe to run
The whole first pass is reads. Matching rows to users, reading their current ACF values, and building the before-and-after table writes nothing, so you see every proposed value before a single field is saved. Reading the current values also lets it fill gaps instead of overwriting details someone already curated.
The write is scoped tightly to ACF. It writes field values by field key, each sanitized for its field type, and it never creates or edits a field group, so the shape of your fields is off limits to the agent. ACF has to be active and the agent needs edit access to the users, the ACF user field abilities stay off until you enable them, every call is checked against the capability of the user you bound the agent to, and every write lands in the Activity Log with the account it changed. If a value looks wrong, the log tells you exactly which profile to open.
Already connected? You do not have to paste this at all. Ask your agent for the “populate ACF user-profile fields on import” recipe, hand it your rows, and it runs the same two-pass flow on your own accounts.