Skip to main content

Hi Community,

 

We're a nonprofit implementing Agentforce Nonprofit with Program and Benefit Management enabled, and we're looking for advice on our data model for storing ride information from an external ride provider.

 

Our Use Case

We offer secure rides as a client benefit. Ride data is sourced from external ride provider’s system and pushed into Salesforce via API. A key requirement is that we do not store any PII in Salesforce — client identity is managed through tokenized Person Accounts (e.g., "Client 00123") with an External ID that maps back to the source system.

 

Our Proposed Data Model

We plan to use the native Agentforce Nonprofit Program and Benefit Management hierarchy:

 

Program → Benefit (Type: Service) → Program Enrollment (Token-based Person Account) → Benefit Assignment → Benefit Disbursement (each individual ride)

 

Each ride from an external ride provider would be stored as a Benefit Disbursement record, upserted via API using an External Ride ID field. We'd add custom fields to the BenefitDisbursement object (surfaced via the Benefit Disbursement Field Set) to capture ride-specific data from the external ride provider, including:

 

- Pickup and Drop-off DateTime (UTC), City, State, and Zip Code

- Distance (miles) and Duration (minutes)

- Ride Cost, Transaction Amount, Transaction DateTime, and Transaction Type

- Ride Type, Fare Type

- Scheduled Ride ID and Flex Ride ID

 

We are not storing street addresses — only city, state (using State/Country picklists), and zip code to keep the data PII-safe.

 

Our Questions

  1. Is BenefitDisbursement the right object to store individual ride events from an external system, or would you recommend a different approach?
  2. Are there any limitations of the BenefitDisbursement object we should be aware of when storing high-volume records from an external integration?
  3. Has anyone used the Benefit Disbursement Field Set to surface ride- or service-specific custom fields, and are there any gotchas?
  4. Any considerations we should keep in mind for reporting on ride utilization (rides used vs. rides allocated) using this model?

Any advice or experience with similar implementations would be greatly appreciated!

 

Thank you!

3 réponses
  1. 28 août, 02:07

    Benefit Disbursement seems like a reasonable fit for tracking individual ride events. The part I would watch is the difference between rides allocated and rides actually used. A Flow or rollup could help keep the remaining balance visible. For larger volumes, I would also keep an eye on API limits, as that is where an otherwise tidy setup can become rather untidy.

0/9000