Our Featured Posts:

Gathering integration requirements for enterprise-wide salesforce implementations

Gathering integration requirements for enterprise-wide salesforce implementations

Jay Prasad
By
Jay Prasad
February 18, 2025

This is second blog in series of 8 blog focussing on gathering integration requirements. The blog will focus on enterprise-wide integration where Salesforce is the primary system but interacts with other core systems.

Integration is the lifeblood of an enterprise Salesforce implementation. In our previous article, we introduced the Salesforce Integration Decision Framework. In this second installment, we focus on gathering integration requirements and why this step is critical for enterprise-wide projects. Without a clear blueprint of requirements, even the best technology can falter.

Various studies highlight this: as many as 70% of system integration projects fail to achieve their goals, and industry research shows poor requirements management is a top reason for project failure. In other words, rushing into integration without solid requirements is “like building a bridge without measuring the gap first.”

"Integration requirements are not just technical details—they are business lifelines that ensure our systems speak the same language," says a senior Salesforce architect.

This blog will walk through a structured 6-step approach to gathering integration requirements, applicable across industries and filled with practical insights.

Step-by-step process for gathering integration requirements

To help SF Architects and project teams, I'm presenting a step-by-step framework for capturing integration requirements. This practical toolkit aligns with integration best practices and covers often overlooked aspects like governance, error handling, and long-term maintainability. By following these steps, you can create a comprehensive requirements document that serves as a blueprint for successful integrations

Step 1: Identify business flows and data ownership

Meet with stakeholders across departments (sales, finance, customer support, IT, etc.) to map out the critical business flows that span multiple systems. For example, an Order-to-Cash process might involve Salesforce (CRM), an ERP for billing, and a fulfillment system. Document each cross-system process in scope and the high-level data that moves through each step.

Next, identify key data entities and their “System of Record”. Determine where each piece of data should be mastered. For instance, is Salesforce the source of truth for customer contacts, or does an ERP own that data? Clarity on data ownership is crucial to avoid conflicts. In two-way integrations, define which system "wins" for each field to prevent a tug-of-war

It’s also important to involve both business and IT stakeholders in this step:

  • Business stakeholders will outline what they need (e.g., sales wants new leads from the website to appear in Salesforce instantly).
  • Technical stakeholders (Salesforce admins, integration engineers) will assess feasibility and note any constraints (e.g., the website’s system API limits).
"The business drives integration, not the other way around."

Step 2: Document data dictionary and relationships

A detailed data dictionary and entity relationship understanding are your best friends in integration projects. This involves documenting each data element that will be exchanged between Salesforce and other systems, along with its attributes and mappings.

Start by listing out all objects and fields involved in the integration:

  • For each Salesforce object (Account, Contact, Case, Order, etc.) in scope, list the fields that need to be sent or received.
  • Do the same for the external system’s objects (e.g., an “Invoice” object in an ERP).
Define a data dictionary with key fields and formats

Data Dictionary

System Object Field (API Name) Data Type Description Notes
Salesforce Account Account.Name Text (255) Account Name (Company) Mandatory. Source (Salesforce).
Salesforce Account Account.Industry Picklist Industry sector Uses SF picklist values.
SAP ERP Customer Customer.Name VARCHAR(255) Customer Name Target (from SF Account.Name).
SAP ERP Customer Customer.IndustryCode CHAR(2) Industry Code Mapped from SF Industry via lookup.
Salesforce Opportunity Opportunity.Amount Currency(18,2) Opportunity total amount Source for Order Value.
SAP ERP Order Order.TotalAmount DECIMAL(15,2) Order total value Target (from Opp.Amount).
DataWarehouse Customer_DW cust_name VARCHAR(255) Customer Name in DW Receives from Salesforce.

(Note: Data Warehouse receives daily dumps of new customers from Salesforce.)

This dictionary would continue for all fields that are exchanged or compared between systems. If you have hundreds of fields, focus on the key fields first – you can always append more as needed.

Step 3: Define data flow and transformation rules

With what data defined, now focus on how data moves between systems and any transformations needed. This step is about capturing the end-to-end data flow for each integration scenario, including triggers, intermediate steps, and business rules that affect the data in transit.

For each business flow identified in Step 1, break down the integration sequence:

  • Trigger/Event: What starts the integration? Is it a user action (e.g., a salesperson closing an Opportunity), a time-based job (nightly batch), or an event in another system (a new record in an external database)? Document the trigger condition clearly.
  • Source Data Extraction: When the trigger fires, what data is collected? E.g., “When an Opportunity is marked Closed-Won, gather the Opportunity details and related Account and Line Items.”
  • Transformation/Enrichment: Describe any data transformations that must occur before sending to the target. For examples: converting data formats (dates, currency), applying business logic (e.g., if Opportunity Stage = “Closed Won” then set ERP Order Status = “New”), or enriching data by adding additional info. For instance, you might append a country code based on the state/province, or lookup a Salesforce record ID to include as a foreign key in the payload. If multiple source fields combine into one target field (or vice versa), specify that rule (e.g., concatenate First Name and Last Name into a full name for a legacy system).
  • Deduplication Rules: If the integration might create duplicates (for example, receiving contact info from two sources), define how to identify and handle dupes. Will you check Salesforce for existing records by email or external ID before inserting a new record? Outline the approach (maybe using Salesforce Duplicate Management or letting the integration middleware handle it).
  • Routing and Conditional Logic: Note if there are branches in the flow. E.g., “If the Account is a VIP customer, route the data through an approval process before integration” or “If record type = X, send to System A, otherwise send to System B”. These conditions should be clearly documented, possibly with a flow diagram.
  • Target System Load: Specify how data is written to the target system. For example, “Create a new Order in the ERP via API Endpoint /orders; then return the Order ID and update it back in Salesforce.” If the integration is bidirectional, document the flow in the opposite direction as well.

Document the transformation rules in detail. This could be an extension of your field mapping table with additional columns for any formula or logic. For example: Before sending to marketing system check:

IF Contact.MailingCountry is blank AND 
Account.BillingCountry is not blank, 
set Contact.MailingCountry = Account.BillingCountry

Step 4: Determine integration type and frequency

Not all integrations are created equal—each use case may require a different integration approach (pattern) and timing. In this step, define whether each integration need is real-time, near real-time, or batch, and decide on the appropriate mechanism (API, middleware, event, etc.) to use. This is essentially applying an Integration Decision Framework to each flow.

First, ask for each use case: How soon must data be synchronized?

  • Real-Time (Synchronous): If the business requires an immediate response or instant data availability, a real-time integration is needed. For example, when a customer calls support, the agent’s Salesforce screen might fetch live data from an order management system via API so they have up-to-the-minute info. Real-time integrations are typically request/response style — e.g., Salesforce makes a callout to an external REST API and waits for a response. Use cases include validating an address in real-time or retrieving inventory levels on the fly. Keep in mind Salesforce’s governor limits on callouts and API calls; real-time calls should be used judiciously for critical needs.
  • Near Real-Time (Asynchronous/Event-Driven): Many scenarios don’t need an immediate blocking response, but still should happen quickly in the background. This is where events or messaging shine. Salesforce Platform Events, Change Data Capture (CDC), or outbound messages can publish an event that subscribers (external systems or middleware) receive almost instantly. For instance, a Platform Event can notify an ESB (Enterprise service bus) that a record changed, and the ESB then orchestrates updates to other systems. This decouples the process – Salesforce doesn’t wait for a reply, it just sends the notification. If multiple systems need to know about an event (fan-out), event-driven is a great fit. Document if an event is one-way or if after processing, the external system will callback or update Salesforce (which would be a separate flow).

Choosing the right integration approach depends on the type of data, sync frequency, and system constraints. The framework below helps architects decide whether to use real-time, event-driven, or batch-based integration. Use this as a guiding reference when designing integrations.

Once you have determined the overall integration type, the next step is selecting the most appropriate Salesforce integration mechanism based on data volume and frequency. The diagram below provides a useful reference for aligning integration choices with business and technical constraints.

Finally, clearly specify synchronization frequency for each data flow. Even if it’s event-driven (which is essentially on-demand), note it. If some data needs an initial backfill and then incremental sync, capture that. The requirements should state, for example, “All existing customer records will be loaded initially via a one-time migration, then new and changed customers will sync in real-time via event messages.”

By the end of this step, you should have for each integration use case: a defined integration style (pattern), tools/technologies chosen, and timing/frequency.

Step 5: Security, compliance, and data governance

No integration requirement is complete without a thorough look at security and compliance. Data is moving between systems, possibly leaving the Salesforce cloud, so you must ensure it’s protected and meets regulatory requirements.

Key things to capture:

  • Authentication & authorization: For each integration point, determine how systems will authenticate. Salesforce offers solutions like Connected Apps for OAuth tokens, or you might use API keys/IP whitelisting for certain endpoints. Best practice is to use a dedicated Integration User account in Salesforce with restricted permissions—only what’s needed for the integration​.
  • This way, if credentials are compromised, damage is limited. If using middleware, document how it will authenticate to Salesforce (and vice versa if Salesforce calls out). Also consider authorization: ensure the integration follows the principle of least privilege (e.g., the integration user profile only has access to objects/fields it needs).
  • Encryption: Data should be encrypted in transit and at rest. Salesforce APIs use HTTPS (SSL/TLS) by default – ensure the external side also supports TLS 1.2/1.3. If any payloads are written to disk (e.g., a middleware staging table or an SFTP drop), note if encryption at rest or PGP encryption is needed. Also consider field-level encryption for sensitive data. For instance, if syncing Social Security Numbers or credit card info, Salesforce Shield Platform Encryption might be required on those fields. Document any such requirements now so the build team includes them.
  • Data Governance & compliance: Identify any regulatory / policy requirements related to the data being integrated. Common ones:
    • Data Residency: Does any data need to stay within certain geographical boundaries? For example, EU customer data might need to remain in EU data centers (GDPR data residency requirements). If integrating with a system in another region, you may need special approvals or architecture (Salesforce has features like Hyperforce for specified regions, but external systems must comply too).
    • GDPR/CCPA: If personal data is involved, ensure you have a way to honor deletion or anonymization requests across systems. For instance, if a user invokes their right to be forgotten, your integration should be documented to propagate deletion or anonymization to all connected systems, not just Salesforce. Include requirements like “When a Contact is deleted in Salesforce for GDPR, the integration will also delete or anonymize the contact in System X within 30 days.”
    • HIPAA or Industry Regulations: If you’re dealing with health data, financial data, etc., note compliance standards. E.g., health data integrations might require using secure messaging standards and audit trails due to HIPAA. Financial data might necessitate additional encryption or masking under PCI DSS. Document any requirements for audit logging of data access for compliance.
  • Access control & APIs: If external systems are calling into Salesforce via APIs, detail what API user profiles or permissions sets are needed. Conversely, if Salesforce calls external APIs, confirm that the external API has proper token validation and perhaps IP restrictions to only allow Salesforce/MuleSoft servers. Consider using Named Credentials in Salesforce to manage endpoint and credentials securely (it simplifies authentication management).
Security & compliance checklist (sample)
Integration Flow Auth Method Data Encryption Compliance Considerations
Salesforce → ERP (Orders) OAuth 2.0 (JWT Bearer) using Connected App TLS 1.2 in transit; Data encrypted at rest in ERP DB GDPR: Customer data transfer documented; use customer consent flags.
API call to Salesforce (external web portal creates Lead) API Key + IP Whitelist (integration user) HTTPS for API calls; Shield Encryption for SSN field in Salesforce PCI: Credit card token passed (no raw PAN in Salesforce). Logs masked.
Batch export (Salesforce to Data Warehouse) SFTP with username/password (VPN tunnel) CSV PGP-encrypted; file deleted after load Internal policy: Data retention 30 days on warehouse, then purge.

Step 6: Define error handling and monitoring

A robust integration requirement must address error handling, monitoring, and long-term maintainability strategies.

Key things to cover:

  • Error handling strategy: For each integration flow, decide how errors will be handled. Consider both system errors (e.g., network outage, API down) and data errors (bad data causing a failure). Will the integration retry automatically on failure? If so, how many times and at what interval? For example, “If an ERP order insert fails, retry up to 3 times with 5 minutes interval.” If not auto-retried, does it go to a dead-letter queue or an error queue for manual review? Define the behavior clearly. Salesforce’s patterns provide guidance: in a synchronous call, the calling system must handle the error (maybe show an error to the user)​, whereas in an async pattern like platform events or outbound messages, the responsibility often shifts to the receiving system or requires a replay mechanism​. Document where those responsibilities lie.
  • User notifications vs Silent logging: Decide if errors should be exposed to end users or only to admins. For example, if a real-time screen integration fails, do you show the Salesforce user an error message (“Unable to fetch data, please try again later”), or just log it and let them proceed? This ties into UX requirements. Document any user-facing error requirements.
  • Logging and Audit Trails: Specify how integration actions and errors will be logged. Ideally, every integration attempt (success or fail) should leave a trace for troubleshooting. If using middleware, it likely has logging. If not, you might need Salesforce to capture some info. Options include:
    • Create a custom Integration Log object in Salesforce to record when calls are made, with status and timestamps.
    • Use Salesforce’s Event monitoring or Transaction security for API usage tracking.
    • External logs: if the integration is external, ensure those logs are accessible. Requirements might be “The system shall log all failed records to an error table, including error details and a reference ID.”
    • Audit needs: For sensitive data, maybe log every time certain data was sent out (to satisfy auditing standards).
  • Monitoring & Alerts: How will the team know if something breaks? Define monitoring requirements:
    • Do we need real-time alerts (email/SMS/Slack) if an integration fails or if error rate exceeds X?
    • Will someone receive an alert if a scheduled batch didn’t run or if it processed zero records when it should have processed many?
    • Consider using Salesforce tools like Flow orchestration logs, or external APM tools, or the middleware’s dashboard. Document who gets the alerts (e.g., the Salesforce admin team, or a dedicated support email).

Error handling & monitoring matrix (sample)

Scenario Detection & Logging Recovery Action Alert?
External API unavailable (timeout) during real-time callout System logs error with timestamp and API endpoint. Salesforce user sees generic "Service unavailable" message. Integration will retry twice after 1 minute each. If still failing, log to error object for manual follow-up. Yes – email to IT after final failure.
Batch job validation error (e.g., required field missing) ETL tool flags record X failed due to validation. Error details logged in middleware with record ID. Skip the faulty record, continue batch. Faulty record ID written to an error CSV for data team to fix source data. No immediate alert (non-critical); error report reviewed daily.
Platform Event processing error in subscriber Middleware catches exception writing to target DB, writes event to Dead Letter Queue. Support team can fix target DB issue, then replay events from DLQ. Yes – High priority alert to integration support.
High volume causing slowness (performance threshold) Monitoring system (New Relic) detects API response >5s average. None automated. Team investigates scaling or optimization. Yes – warning alert if sustained for >10 min.

Finalizing the IRD(integration requirements document)

After gathering all the details from Steps 1–6, the next step is to consolidate this information into a structured IRD

Structure the document clearly: Organize the IRD into sections that mirror the process we followed. For example:

  1. Overview – Summary of integration scope, objectives, and stakeholders. Include the business justification: e.g., “Implementing integration between Salesforce Sales Cloud and ERP to automate order processing, eliminate manual data entry, and ensure data consistency across systems.”
  2. Business process flows – Describe each relevant business flow (from Step 1) in narrative form, possibly with flow diagrams. Include which systems are involved in each step.
  3. Data definitions and mappings – Insert the data dictionary and mapping tables from Step 2. If there are many, consider putting them in an appendix or separate spreadsheet, but summarize key entities and relationships in the main doc. Include ERD diagrams or object models here for clarity.
  4. Integration approach details – For each integration use case, specify the integration type, frequency, triggers, and pattern as determined in Step 4. This could be a subsection per integration flow with headings like “Opportunity to Order (Salesforce -> ERP) Integration” and under it, details from Step 3 and 4: trigger, data flow, mapping reference, pattern (e.g., event-driven via platform event), frequency (real-time), etc.
  5. Security and compliance – A section summarizing all security requirements (from Step 5). It might include tables for authentication matrix, permissions needed, and compliance notes. Security teams often look for this section in particular.
  6. Error handling & monitoring – Include the error handling matrix and describe the monitoring plan from Step 6.
  7. Non-functional requirements – This covers performance, scalability, and maintainability aspects. For instance, note expected volumes (peak records per hour) and performance SLAs, any scalability considerations (“system should handle 2x current volume in 3 years”), and maintainability needs (documentation, ease of configuration). This might draw from earlier steps (like volume from Step 3, maintainability from Step 6).
  8. Assumptions and constraints – List any assumptions made (e.g., “ERP system will provide API by Q2”, “All systems have test environments available”) and constraints identified (“Salesforce API call limits of 100k/day must not be exceeded”, “Integration will not cover historical data migration” etc.).
  9. Glossary – Define any acronyms or terms for clarity (SOR = System of Record, CDC = Change Data Capture, etc.).
  10. Sign-offs – A section for stakeholder sign-off, indicating that business owners, Salesforce architects, system owners, and security have all reviewed and agreed to these requirements.
Let's Start Your Salesforce Journey Together
Choose SalesforceHub for a partnership that combines niche expertise with cost-effective solutions tailored just for you.
Subscribe Now
Let's Start Your Salesforce Journey Together
Choose SalesforceHub for a partnership that combines niche expertise with cost-effective solutions tailored just for you.
Subscribe Now

Conclusion

Integration requirement gathering is a critical phase that requires a structured and detailed approach. By following this six-step framework — from identifying business flows and data ownership, through documenting data mappings and process flows, choosing the right integration patterns, addressing security/compliance, to planning error handling and monitoring — Salesforce Architects can ensure no stone is left unturned.

Jay Prasad

Jay Prasad is a seasoned Salesforce Technical Architect and Developer with over 15 years of experience working with companies from small startups to large enterprises. With a strong background in Salesforce, AWS, Azure and Adobe, he knows how to turn real business needs into practical, scalable solutions.

Subscribe Now
No items found.

More like this

Integration
Gathering integration requirements for enterprise-wide salesforce implementations
This is second blog in series of 8 blog focussing on gathering Salesforce integration requirements. The blog will focus on enterprise-wide integration where Salesforce is the primary system but interacts with other core systems.
Integration
Read More
Integration
SF Arch Interview scenario at Amazon Seattle
In this blog post, I share a real-life Salesforce Architect interview scenario from Amazon. The use case centers on a restaurant order management system, where status updates arrive in incremental form (e.g., “Burger Ready”) rather than all at once. Salesforce must receive these partial updates via an inbound web service, respond asynchronously, and handle errors or missing items gracefully. This scenario highlights critical design decisions—from data modeling to performance and security considerations—and reflects how enterprise integrations often involve complex, real-world constraints. I end with a call to action, inviting readers to propose their own solutions and share how they’d architect this use case within Salesforce.
Integration
Read More
Integration
Intro to the Salesforce Integration Decision Making Framework
Whether you’re orchestrating a multi-million-dollar pipeline or a small startup’s first integration, a decision-making framework is your compass. Over the next seven blogs, we’ll tackle each pillar with a deeper dive and more visual aids, ensuring you’re well-equipped to navigate the integration maze. Ready to roll? In the next post, we’ll explore how to gather integration requirements so you’re not firing in the dark. Stay tuned—there’s a lot more knowledge to uncover.
Integration
Read More
Place a Subscription Box
Subscribe Now
Join The Newsletter & stay up to date!
Stay connected and informed! Join our newsletter to receive the latest updates, exclusive offers, and exciting news straight to your inbox
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.