Welcome to Community Week 2025! Join us to learn, connect, and be recognized as we celebrate the spirit of Community and the power of AI. Get the details  

Associating a Contact with Multiple Accounts in CSM – Best Practice?

AnirudhKumar
Mega Sage

Hello!

 

I’m working with a client using ServiceNow CSM and we’ve run into a modelling challenge.

They want the capability to associate a single Contact record with multiple Accounts—for example, a consultant or distributor who works with several client organizations.

From what I understand, the out-of-the-box CSM data model supports a 1:1 relationship between Contact and Account (via the account reference field on the Contact table). But this client’s real-world use case demands a many-to-many relationship between Contacts and Accounts.

Questions for the community:

  • Has anyone implemented this kind of setup successfully?

  • How did you model or extend the data structure? Did you create any M2M table (e.g., Contact-Account Relationship)?

  • Are there any unintended consequences or pitfalls of doing this in CSM (e.g., in Case routing, SLAs, or Portal behavior)?

  • Should this even be done, or is there a better approach within the CSM framework?

Appreciate any insights or best practices from those who’ve tackled this before.

1 ACCEPTED SOLUTION

Kieran Anson
Kilo Patron

Hi,

Have you looked into contact relationships? They allow you to define responsibilities and provide access across accounts. 

 

https://www.servicenow.com/docs/csh?topicname=c_ContactRelationships.html&version=latest

 

They can also be done at the account level, which is useful when an entire account (for example a service provider) needs access to multiple customers

View solution in original post

2 REPLIES 2

Kieran Anson
Kilo Patron

Hi,

Have you looked into contact relationships? They allow you to define responsibilities and provide access across accounts. 

 

https://www.servicenow.com/docs/csh?topicname=c_ContactRelationships.html&version=latest

 

They can also be done at the account level, which is useful when an entire account (for example a service provider) needs access to multiple customers

Me Being Mustaq
Tera Guru

Hi @AnirudhKumar ,

 

Yes, it is feasible to associate a single Contact with multiple Accounts in ServiceNow CSM by extending the data model to support a many-to-many relationship—usually by leveraging the Contact Relationship feature and a relationship table, like sn_customerservice_contact_relationship

 

How to Implement Many-to-Many (M2M) Contact-Account

  • Out-of-the-box, the Contact table has a reference field to Account, supporting only a 1:1 relationship.​

  • To enable a Contact to link with multiple Accounts, create records in the "Contact-Account Relationship" table (sn_customerservice_contact_relationship), allowing M2M associations.​

  • This usually requires setting the property sn_customerservice.contact_relationship.restrict_within_account_hierarchy to false if you want to select contacts outside the account hierarchy.​

  • After this change, any contact can be associated with any account via a relationship record, allowing access and case creation for multiple organizations through the portal

Best Practices

  • Using the Contact Relationship table is generally recommended in real-world scenarios instead of duplicating contact records or using workarounds.​

  • Review portal and workflow logic to handle cases where contacts represent multiple Accounts to avoid confusion for agents and customers.​

  • Regularly audit relationship records and test all case routing and authorization workflows when changing the model.

This approach is widely adopted for consultants, distributors, and shared support models, provided you update system properties and extend the data structure where necessary to support M2M relationships between Contacts and Accounts in ServiceNow CSM.

 

If it is helpful, please hit the thumbs button and accept the correct solution by referring to this solution in the future it will be helpful to them.

 

Thanks & Regards,

Mohammed Mustaq Shaik