Technical scope & engineering decisions
Salesforce & integration
Salesforce development with Apex, Lightning Web Components, and Flow, including integration with .NET services. The focus is on maintainable CRM workflows, reliable data exchange, and recovery when a process spans several systems.
Apex · LWC · Flow · APIs
Technical scope
Workflow ownership and platform constraints
Each business rule needs a clear owner when configuration and code coexist.
Choose Flow or Apex according to rule complexity, transaction needs, and who will maintain the automation. Use LWC for custom interfaces. Design for bulk records and governor limits from the start, and check how flows and triggers interact. When work runs asynchronously, make its progress and completion clear to users.
System of record and integration contracts
Successful message transport does not establish correct business state.
Identify the authoritative system for each record, which systems may update it, and how identifiers and fields map between them. Choose APIs or events based on how quickly changes must be visible. Define access permissions, version compatibility, and how to handle a batch in which only some records succeed.
Recovery across independent transactions
Retryable transport failures and business rejections need different recovery paths.
Retry temporary connection failures within a fixed limit; route rejected business data for correction before replay. Use correlation identifiers to follow an operation across systems and deduplication to avoid processing it twice. Reconcile unresolved records and assign responsibility for work that cannot recover automatically.
Design priorities
When to use each option, what it costs, and what to test.
Flow and Apex responsibilities
- Selection
- Use Flow for rules it expresses clearly; consider Apex for custom transactions or reusable logic.
- Trade-off
- Overlapping flows and triggers complicate execution order and maintenance. Asynchronous work completes later.
- Verification
- Exercise bulk records, recursion paths, execution limits, and interactions between automation owners.
Synchronous call or asynchronous exchange
- Selection
- Use a synchronous call when the user needs an immediate result; consider events when completion can wait.
- Trade-off
- Synchronous calls couple availability and response time; asynchronous delivery needs progress, deduplication, and recovery.
- Verification
- Verify timeouts, repeated delivery, partial success, and the user-visible state of unresolved work.
Retry, correct, or reconcile
- Selection
- Retry temporary failures, correct invalid requests, and reconcile writes whose outcome is unknown.
- Trade-off
- Repeated retries add load and can duplicate work. Manual correction needs an assigned owner and safe replay.
- Verification
- Verify retry limits, idempotent processing, traceability, and resolution of inconsistent records.