Skip to main content

MCP - Act: create accounts, update profiles, and send engagements in bulk

Import households from a spreadsheet, update accounts, move pipeline stages, and send engagements in batches — plus how to do it safely.

This feature is currently in beta.

To request access, please have your subscription admin user contact support@precisefp.com.

Act is where PreciseFP MCP does work for you rather than just answering questions: creating accounts, filling in profiles, moving accounts through your pipeline, and sending engagements — in batches, from a single instruction.

If you haven’t connected yet, start with How to activate PreciseFP MCP.

These actions change your live PreciseFP data. Read what’s proposed before you approve it, especially for bulk operations.

Import households from a spreadsheet

The most common reason advisors reach for this. Attach a spreadsheet to your chat and ask:

I’d like to import this list of households. Please create the accounts first, then update the profiles as a second step.

Your spreadsheet can hold whatever you have — account name, client and co-client names, birthdates, phone numbers, addresses, employment, income, assets, liabilities, insurance.

Ask for it in two phases. Create the account shells first, confirm they’re all there, then load the profile data. It’s the difference between a clean import and an unpicking exercise:

  • Every household gets a stable record immediately

  • The profile mapping can be checked on one household before it runs across all of them

  • A problem in the more complicated profile step never puts the accounts themselves at risk

In practice a 50-household import runs as two batches of 25 for the accounts, then profile updates one household at a time. You’ll get a report at the end — how many succeeded, how many failed, and why.

Verify one, then scale. Ask it to write one representative household end-to-end, open that record in PreciseFP, check it looks right, and then let it run the rest. Worth the extra two minutes on any import of size.

Update accounts

Convert the Chen household from prospect to client.

Move these five accounts to the Discover stage.

Archive the accounts I marked in this list.

Update the phone number on the Patel account.

Send engagements

Send the Risk Tolerance form to these clients.

It’ll ask which template you mean if there’s any ambiguity, then confirm before sending. Once sent, you get each engagement’s recipient, status, and a live access link.

You can also gate access with a password, SMS, or email verification if the form asks for sensitive information.

Sending always requires explicit confirmation — it emails a real client a request for personal financial information, so it’s never done silently.

A few things to expect

Calculated fields can’t be filled. Net worth, total income, monthly premiums derived from annual figures — PreciseFP works these out itself. It’ll tell you it’s skipping them and populate the source fields instead.

Blanks stay blank. Where your spreadsheet has no clear value, nothing is invented. That’s deliberate — you’d rather have a gap you can see than a guess you can’t.

Partial success is normal. One malformed row fails on its own without taking the rest of the batch down. Check the report.


Under the hood

Batch limits. accounts-create and accounts-update each accept up to 25 records per call and support partial success — a malformed record fails individually without rolling back the batch, and the response reports per-item status with the assigned account and member IDs. Those returned IDs become the keys for the profile phase. accounts-profiles-update writes one account per call. form-engagements-create sends one template to up to 25 contacts.

Why the import is two-phase. Profile writes are schema-first: the connector resolves your dataset schema with dataset-search, builds a column-to-key mapping, then writes values by reference to those keys via accounts-profiles-update. Each element in a write carries its dataset_id, a member_id (or null), a row_id (or null), and the value. Most of the real work in a bulk load is that mapping step, which is why separating it from account creation is the safe pattern.

Member and row keying. INDIVIDUAL panels (Client Details, Employment & Income) hold data per person, so writes must name the member_id of the client or co-client it belongs to. ACCOUNT panels (Assets, Liabilities, Insurance, Retirement Plans) hold one shared household list with a null member_id, and ownership of a row is expressed through an Owner field inside the row.

SINGLE groups (the Annual Income summary) are written with a null row_id. MULTIPLE groups repeat — one row per employer, per 401(k), per mortgage — and each new row needs a fresh UUID reused across every element in that row so the fields bind together as one record.

Value normalization. Dropdown fields expect internal codes, not display labels: marital status “Domestic Partner” is partner, a fixed mortgage type is fixed, “Universal Life” is universal. Owner and insured references on ACCOUNT panels resolve to a member-group value or joint. Sending a label where a code is expected is a quiet source of mismatch, so mapping external data always includes a normalization pass.

Calculated fields. CALCULATED elements are read-only — PreciseFP derives them. Employment Income and Total Income sum from salary and bonus; monthly insurance premiums divide from annual premiums; the whole Net Worth panel is All Assets minus All Liabilities. Writing to them is rejected. Write the upstream source fields and PreciseFP computes the rest.

Quality score movement. A freshly created shell scores around 24%. A completed single-client profile rises to roughly 67%. Useful as a sanity check that a profile load actually landed.

Pipeline placement. Accounts move between stages through the pipeline parameter on accounts-update. Your pipeline’s own automation rules still fire independently — for example, an Onboard → Discover transition triggered by a “Risk Tolerance” engagement completing. Both the send and the resulting stage change are recorded in activity history.

Engagement lifecycle. Engagements run NOT_STARTED → IN_PROGRESS → COMPLETED. Recipient answers reach the account profile only when the client submits; until then the engagement holds them. Clients enter their data on PreciseFP directly — it’s never routed through your AI tool.

Permissions. Every write runs as you and is limited by your existing PreciseFP permissions. Archive, convert, and stage placement each require the permission you’d need in the web app. SSN and equivalent PCI fields are rejected on write regardless of permissions.


What it can’t do

  • Invite or manage users. Listing users works; creating them or changing permissions doesn’t.

  • Build or edit form templates. It can list, search, and send your templates, but not design their fields.

  • Create or edit pipelines. Definitions and automation rules are read-only. Moving an account between existing stages works.

  • Connect or configure integrations. Integration history is readable; setup isn’t.

  • Write SSNs or equivalent credential fields, ever.

FAQ

How large an import can it handle? There’s no hard ceiling — batches of 25 simply run in sequence. 50 households is two batches. Larger imports work the same way, they just take longer, and the profile phase is the slow part.

What happens if my spreadsheet has a bad row? It fails on its own and the rest of the batch continues. You’ll see it in the results report with the reason.

Can I undo a bulk change? Not through the connector. Activity history records every change with its channel and timestamp so you can see exactly what happened, but reversing it means editing in PreciseFP. This is why verifying one record before scaling matters.

Why did it refuse to fill in net worth? It’s a calculated field. Load assets and liabilities and PreciseFP computes net worth itself.

Will it send anything to a client without asking me? No. Sending an engagement always requires your explicit confirmation.

Do the clients need to do anything differently? No. An engagement sent this way is identical to one sent from the web app — same form, same access link, same experience.

Please note: PreciseFP Support cannot provide prompts for use with AI tools or troubleshoot third-party AI platforms. For assistance, please refer to the AI provider’s support resources.

Next steps

Did this answer your question?