D365Forge

Templates › Integration inventory

Integration inventory

Format
Excel (xlsx)
Owning skill
integration-and-data:integration-architecture
Tailored from
organisation, estate, edition, modules_in_scope, roles, generated_on
Status
draft

How to use this template

The integration lead ({{roles.integration-lead}}) starts this inventory in Initiate, from the systems listed in the organisation profile and the fit-to-standard workshops, and the solution architect ({{roles.solution-architect}}) approves it as part of the solution blueprint. Each interface then carries its status through build, SIT and go-live. Update it whenever an interface is added, its pattern changes or a source system owner changes their API.

Guidance: The commonest integration failure on CRM projects is not technical: it is discovering late that nobody agreed which system owns the customer or product record. Complete the "Data ownership" sheet before designing any interface.

SMB: Favour standard connectors and simple scheduled or event-driven flows. Keep the inventory even if there are only three interfaces; it becomes the support team's map after go-live.

Enterprise only: Add middleware design references, interface contracts with version numbers, non-functional targets agreed with each system owner, and a separate SIT scenario per interface.

Sheet: Read me

ItemDetail
Organisation{{organisation.name}}
Edition{{edition}}
Modules in scope{{modules_in_scope}}
Systems listed in profileERP {{estate.erp}}; email and calendar {{estate.email_and_calendar}}; telephony {{estate.telephony}}; other {{estate.integrations}}
Generated on{{generated_on}}
Direction valuesInbound to Dynamics 365, Outbound from Dynamics 365, Bidirectional
Status valuesIdentified, Designed, Built, SIT passed, Live, Retired

Sheet: Systems

SystemBusiness ownerTechnical contactSystem of record forHostingIntegration options availableChange or release cycleNotes
{{estate.current_crm}}Current customer data (until cutover)Export or APIFrozen after cutoverSource for migration, not an ongoing interface unless dual running
{{estate.erp}}Customers for billing, products, prices, orders, invoices
{{estate.email_and_calendar}}Email, appointmentsServer-side synchronisation
{{estate.telephony}}CallsCustomer Service only
Microsoft Entra IDUsers and groupsCloudGroup teams, licence assignment
{{estate.data_sources}}

Sheet: Interfaces

IDInterfaceSourceTargetBusiness purposeData objectsDirectionTriggerPatternVolume and frequency (to measure)Error handlingCRM ownerModulePriorityStatus
INT01Customer master sync{{estate.erp}}DataverseKeep billing accounts alignedAccount, contact, addressBidirectionalEventMiddleware or connectorRetry, then alert support queue{{roles.integration-lead}}Sales, Field ServiceMVPIdentified
INT02Products and price lists{{estate.erp}}DataverseSellers quote from current catalogueProduct, unit, price list itemInboundScheduledMiddleware or connectorLog and alert{{roles.integration-lead}}SalesMVPIdentified
INT03Orders to ERPDataverse{{estate.erp}}Fulfil and invoice won businessOrder, order lineOutboundEventMiddleware or APIRetry, then manual queue{{roles.integration-lead}}SalesMVPIdentified
INT04Email and calendar{{estate.email_and_calendar}}DataverseTrack email and appointmentsEmail, appointmentBidirectionalReal-timeServer-side synchronisationMailbox alerts{{roles.platform-administrator}}AllMVPIdentified
INT05Telephony and screen pop{{estate.telephony}}DataverseIdentify caller, log callsPhone call, conversationInboundReal-timeVendor connector or Dynamics 365 Contact CenterVendor monitoring{{roles.integration-lead}}Customer ServiceConfirmIdentified
INT06Website formsWebsiteDataverseCapture enquiries and consentLead, contact, consentInboundEventCustomer Insights - Journeys formsForm submission monitoring{{roles.journeys-consultant}}MarketingConfirmIdentified
INT07Parts and stock{{estate.erp}}DataverseTechnicians see stock and use partsProduct, warehouse, inventoryBidirectionalScheduledMiddleware or connectorLog and alert{{roles.integration-lead}}Field ServiceConfirmIdentified
INT08Analytics exportDataverseAnalytics platformReporting across systemsSelected tablesOutboundScheduledPlatform export featurePipeline monitoring{{roles.data-and-ai-lead}}AllLaterIdentified

Guidance: Delete rows that do not apply and add one per interface in {{estate.integrations}}. Record measured volumes, not guesses, and check current Microsoft Learn documentation for service protection limits before designing high-volume loads.

Sheet: Data ownership

Data objectSystem of recordRole of Dynamics 365 (master, copy, reference)Who may edit in Dynamics 365Sync directionConflict ruleAgreed by
Customer (account){{roles.process-owner}}
Contact
Product and price{{estate.erp}}CopyNobody; read-onlyInboundERP wins
Order
Invoice{{estate.erp}}ReferenceNobodyInboundERP wins
Customer asset

Sheet: Non-functional and support

Interface IDPeak volumeLatency neededRetry approachAlerting and monitoringAuthenticationSupport owner after go-liveRunbook reference
INT01Service principal or app registration{{roles.support-lead}}
INT03
INT04Mailbox status alerts{{roles.platform-administrator}}

Guidance: Every interface needs a named support owner and a documented way to replay failed messages before it goes live.

Sheet: Test coverage

Interface IDSIT scenarioTest data requiredEnvironment pairingNegative tests (failure, duplicates, late arrival)ResultTested by
INT01New customer created in ERP appears in Dynamics 365Test customer setSIT with ERP testERP unavailable; duplicate key
INT03Won opportunity creates order in ERPPriced productsSIT with ERP testMissing product in ERP
INT04Tracked email appears on contact timelinePilot mailboxesSITMailbox not approved

Credit: Template from D365Forge by Simon Foote and Robert Peledie (https://github.com/SimonFoote-greensparx/D365Forge), licensed under CC BY 4.0. Keep this credit when you share or adapt the template; in your own completed document you may keep it as a footer or remove it.