---
name: iblai-connect-salesforce-financial-services-cloud
description: "Read and write Salesforce Financial Services Cloud data through the Salesforce Platform REST, SOAP and Bulk APIs with Financial Services Cloud standard objects and expose it to an ibl.ai agent as an MCP tool. Use when the user asks an agent to work with Salesforce Financial Services Cloud data, or to set up a Salesforce Financial Services Cloud MCP connection on ibl.ai."
metadata:
  kind: guide
---

# Salesforce Financial Services Cloud connector for AI agents

> A starting point maintained on ibl.ai at https://ibl.ai/developer/connectors/salesforce-financial-services-cloud — not part of the iblai/vibe repository. Checked against Salesforce's documentation on October 20, 2026; test it against your own Salesforce Financial Services Cloud setup before you rely on it.

CRM for banks, wealth managers and insurers on the Salesforce Platform (the developer docs now title it Agentforce Financial Services). Holds clients, households, financial accounts, balances, transactions, holdings and goals.

## Auth & conventions

- **API:** Salesforce Platform REST, SOAP and Bulk APIs with Financial Services Cloud standard objects (Mixed). sObject CRUD, SOQL query and SOSL search over FSC objects such as FinancialAccount, FinancialAccountParty, FinancialAccountTransaction, FinancialGoal and AccountContactRelation (household membership).
- **Base URL:** https://{MyDomainName}.my.salesforce.com/services/data/v{XX.X}/
- **Access:** Issued by your administrator. The org's admin creates an external client app or connected app and grants API access to users. Requires an edition with API access. FinancialAccount needs the Financial Account Management Standard Objects setting turned on.
- **Auth:** OAuth 2.0 via external client app or connected app. Salesforce docs: a client must be authorized through an external client app or connected app and an OAuth 2.0 flow. Calls run as the authorized user, so field-level security, object permissions and sharing apply.
- **Limits:** Enterprise and Unlimited editions start at 100,000 API requests per 24 hours plus per-license additions; Developer Edition gets 15,000. GET /limits reports remaining calls; protection limits return 403 REQUEST_LIMIT_EXCEEDED.
- Keep Salesforce Financial Services Cloud credentials in environment variables or the ibl.ai credential store. Never print a token in chat and never commit one to a file.
- Destructive or outward-facing calls are marked **Confirm with the user first** — do.

## Reads

- **Financial accounts** — FinancialAccount standard object (API v61.0+): investment, bank and credit card accounts, credit limits, rates. GET /sobjects/FinancialAccount or SOQL.
- **Account owners and roles** — FinancialAccountParty links people and businesses to an account; the managed-package equivalent is FinServ__FinancialAccountRole__c.
- **Households** — Household record type on Account; AccountContactRelation records each member's role in the household.
- **Transactions and balances** — FinancialAccountTransaction and FinancialAccountBalance standard objects.
- **Goals** — FinancialGoal standard object (API v59.0+), a financial goal for a person account.
- **Holdings** — FinServ__FinancialHolding__c (managed package): positions such as shares of stock in an investment account.

## Writes

- **Financial account records** — create(), update() and upsert() are supported calls on FinancialAccount.
- **Household membership** — Create or update AccountContactRelation records to add a contact to a household.
- **Record deletes** — delete() is supported on FinancialAccount and other FSC objects; removes client financial records. **Confirm with the user first.**

## Expose it to an ibl.ai agent (MCP)

Salesforce publishes an official MCP server, Salesforce Hosted MCP Servers (https://developer.salesforce.com/docs/platform/hosted-mcp-servers/references/reference/servers-reference.html). Register it below as-is, or host your own server that wraps the calls in this skill.

First install the ibl.ai platform skills and connect your organization (writes `IBLAI_ORG`, `IBLAI_USERNAME` and `IBLAI_API_KEY` to `.env`):

```bash
npx skills add iblai/vibe --all
# then, in your coding agent:
/iblai-api-login
```

Every call below sends `Authorization: Api-Token $IBLAI_API_KEY`.

1. **Register the server** — `POST https://api.iblai.app/dm/api/ai-mentor/orgs/$IBLAI_ORG/users/$IBLAI_USERNAME/mcp-servers/` with `name`, `url`, `transport` (`sse` | `websocket` | `streamable_http`) and `auth_type` (`none` | `token` | `oauth2`). Capture the returned `id`.
   - For an API key or service credential use `auth_type=token` with `auth_scope=platform` for one key across the organization, or scope it to a single agent for one key per agent.
2. **Create the connection** — `POST https://api.iblai.app/dm/api/ai-mentor/orgs/$IBLAI_ORG/users/$IBLAI_USERNAME/mcp-server-connections/` with `server`, `scope` (`platform` | `mentor` | `user`), `auth_type`, and either `credentials` + `authorization_scheme` or a `connected_service` id for OAuth. Credentials are masked on read; never send a masked value back.
3. **Enable it on the agent** — `GET https://api.iblai.app/dm/api/ai-mentor/orgs/$IBLAI_ORG/users/$IBLAI_USERNAME/mentors/{agent_id}/settings/`, add `mcp-tool` to `tool_slugs` and the server id to `mcp_servers`, then `PATCH` the full lists back. They are replaced, not merged.

Full reference: https://ibl.ai/developer/platform/mcp/mcp-connections and the `/iblai-api-agent-mcp` skill.

## Example prompts

- "List every financial account in the Rivera household with its current balance"
- "Which clients have a FinancialGoal due this year that is less than 50% funded?"
- "Show the last 30 days of transactions on account 4471 and flag anything over $10,000"
- "Add Maria Chen to the Chen household as Spouse"

## Guardrails

- Client, household and account records are GLBA nonpublic personal information (account numbers, balances, holdings, income). Any card numbers stored in account records are PCI cardholder data.
- Request the narrowest Salesforce Financial Services Cloud scopes or role the task needs, and prefer a read-only credential for agents that only answer questions.
- Return the fields the user asked for, not whole records; do not paste personal data into chat that the user did not request.
- Before any write, show the user exactly what will change and wait for a yes.
- Respect the documented limits above: page through results and back off on rate-limit responses instead of retrying in a loop.

## References

- FinancialAccount object reference: https://developer.salesforce.com/docs/atlas.en-us.financial_services_cloud_object_reference.meta/financial_services_cloud_object_reference/fsc_sforce_api_objects_financialaccount.htm
- REST API Developer Guide: https://developer.salesforce.com/docs/atlas.en-us.api_rest.meta/api_rest/intro_rest.htm
- Hosted MCP Servers reference: https://developer.salesforce.com/docs/platform/hosted-mcp-servers/references/reference/servers-reference.html
- Salesforce Hosted MCP Servers: https://developer.salesforce.com/docs/platform/hosted-mcp-servers/references/reference/servers-reference.html
- This connector on ibl.ai: https://ibl.ai/developer/connectors/salesforce-financial-services-cloud
- ibl.ai MCP server connections: https://ibl.ai/developer/platform/mcp/mcp-connections
