Senior Application Developer

loc: Maynooth, ON K0L 2S0tel: 613-553-0960email: rgsamways@gmail.com
Robin Samways

$ Credential Flow · Design Notes

Why raw httpx over a wrapper library, and what the Financial Services Cloud/Agentforce licensing limitation actually drove.

## WHY_RAW_HTTPX


The API talks to Salesforce using raw httpx rather than the simple-salesforcewrapper, and OAuth 2.0’s Client Credentials Flow rather than a user-interactive flow. Client Credentials Flow fits here because this is a server-to-server integration — no user is in the loop, matching how a backend service actually authenticates to Salesforce in production. Skipping the wrapper library was deliberate too: the point of this case study is demonstrating the protocol mechanics themselves — the token request, its expiry, when to refetch — not that a Python package can be installed. A wrapper library would have hidden exactly the mechanic this piece exists to prove.

## LICENSING_LIMITATION_AND_WHAT_IT_DROVE


This integration deliberately does notuse Salesforce Financial Services Cloud or Agentforce — both require paid licenses that aren’t available in a free Developer Edition org. What’s built here is the closest honest approximation on standard objects: a custom object with lookups to standard Contact and Account, a Status picklist, and a Record-Triggered Flow that auto-stamps a decision date when status changes to Approved or Denied. It’s a simplified relationship model, not a claim of parity with a production FSC implementation.

The most concrete consequence: the recommended-next-action feature calls the Anthropic API directly rather than using Agentforce, which isn’t licensed on this org. That’s not a downgrade improvised around a missing feature — it’s the same direct-API-integration pattern proven elsewhere on this site (Farpost Dispatch’s Apex-native Anthropic callout), applied here from the opposite direction: Python calling out to Salesforce data, rather than Salesforce calling out to Anthropic.

Feedback on this page