Takes a customer complaint from the first contact to a resolution the customer has been told about, with the order lines and prices checked in place.
Objects are read in place through the REST and Bulk APIs, and changes arrive through Change Data Capture events, so a screen shows a record seconds after a seller edits it. The rows stay in Salesforce.
| Object | Read from | Fields the app uses | Freshness |
|---|---|---|---|
| Customer master | Account | Account.Id / AccountNumber (id) · Account.Name (name) · Account.BillingCountry (country) · Account.OwnerId (territory) (sales org) | live through the API |
| Sales order line | Order · OrderItem | Order.OrderNumber (number) · OrderItem.Id (line) · Order.AccountId (customer) · OrderItem.Product2Id (material) | live through the API |
| Price condition | PricebookEntry · Product2 | Product2.ProductCode (material) · Pricebook2.Name (customer) · PricebookEntry.UnitPrice (amount) · CurrencyIsoCode (unit) | live through the API |
| Return order | ReturnOrder · ReturnOrderLineItem | ReturnOrder.ReturnOrderNumber (number) · ReturnOrder.AccountId (customer) · ReturnOrderLineItem.ProductId (material) · ReturnOrderLineItem.QuantityReturned (qty) | live through the API |
In plain words: A complaint is submitted on S01 by the customer, or logged by customer service from a call or from the service case in the CRM.
This app starts from a screen, so the first read happens when the instance opens; the criteria on the arrows use the fields above.
A complaint is submitted on S01 by the customer, or logged by customer service from a call or from the service case in the CRM. The instance then reads its rows from Salesforce through the handlers above.
Writes go through the REST API (update and composite calls) under the integration user's profile and sharing rules. Each call returns the record ID or an error message, and the app records both beside the decision.
| Object | What changes | Interface |
|---|---|---|
| Sales order line | credit memo request or replacement order line created as a sales document with the complaint number as reference | PATCH sobjects/Order |
| Return order | return order created for pickup of the goods in dispute | PATCH sobjects/ReturnOrder |
Each write stores the identifier Salesforce returns beside the decision, the person and the time, so the log answers who changed what, and the reconciliation shows it arrived.
Profiles, roles and sharing rules are mapped to Lima access policies once. A seller who sees their own opportunities in Salesforce sees the same rows in the app.
The screens read through handlers that leave the rows in Salesforce. History the app needs at scale is landed in the lake by the Backbone, which is the exception by design.
The prerequisites above: an integration identity with read rights on the objects listed and write rights on the interfaces named, connectivity, and the scopes agreed with the process owner.
Yes. The screens, criteria and roles stay; the handlers are re-bound to the other system's objects, and the app's other system pages show them.
Bring the process and the systems it touches. In the first session we register the data handlers, draw the levels or the lanes and run the first screen on your live rows.