Make Service Manager Customer-aware

Out-of-the-box, Service Manager cannot be used to manage multiple customers – e.g. there is no customer field/attribute when you create a new incident. Without this information it is very difficult to see which customer reported a specific incident. If you want to make this information visible, you have to do some customization.

Update: Also check the second part of the article –>

First of all, a new Class is needed that will hold company objects. I create a new Management Pack, call the class “Customer” and add several attributes like Name, Address and responsible person. You can find details on how to create new classes in this blogpost.


Next a new Relationship has to be created to link Incident objects to the customer objects. Therefore, I add a new Relationship to the Incident class and call it “IncidentFromCompany”. To do that, I have to extend the Incident Class and select an unsealed Management Pack to store the extension.






When the relationship is created, the target class and cardinality needs to be configured – in this case the target class is “Customer” and the cardinality is from 0 to 1.


To choose a customer/company for an Incident, a new field has to be added to the Default Incident Form (or whatever form you use for Incidents Management). So I choose the Incident Form from the Form Browser and start customization. The form ist called “System.WorkItem.Incident.ConsoleForm” and i choose the same Management Pack for storing the customization as before.




For a very easy customization I collapse the “Contact Method” field from the Incident Form (to get enough space).



Now I drag the relationship “Incident from Company” from the Incident class (that I extended before) directly from the class browser onto the form.


After some cosmetic customization, the Management Pack is ready for Import. To create some customer/company objects, a new view has to be defined first. This blogpost gives you more details about creating views. Now, when an Incident is created (or an existing one is opened), the Customer field is visible and can be filled with a company object.



That’s a very easy but effective way to make Service Manager customer-aware. Of course, this is just the customization for Incidents, but you can do the (almost) same thing to Problems, Change Requests or Activities. Have fun trying out …

Regards Marcel

This entry was posted in SCSM and tagged , , , , . Bookmark the permalink.

33 Responses to Make Service Manager Customer-aware

  1. Dennis says:

    Hi Marcel,

    Just like you we were missing the fact that SCSM 2010 didn’t have a customer class. Thanks for sharing this article 🙂

  2. Pingback: System Center Service Manager information(blog) overview - System Center Service Manager

  3. Tim says:

    Hi Marcel,

    Great post, describes exactly what we need in our Service Desk. I’ve gone through your steps one by one, and successfully managed to get the functionality I need, though I’ve experienced a couple of problems I’m hoping you can help with…

    When I’m creating an incident, or modifying an incident, and go to select a customer, this opens up a ‘select objects’ form where my customers are listed. However the only columns I get in the form are ‘Name’ (built-in Display Name), ‘Class’ and ‘Path’. The ‘Name’ column only displays numbers. So effectively I have a list of customers (which is great), but I can’t tell who is who because it doesn’t display any of my custom columns. Also when I select a customer and am returned to the Incident form, the customer name isn’t displayed in the form, instead I get the contents of the ‘Name’ field which is a number.

    I can see from your screen shots above that you manged to get your customer name to display in the form. I’ve been through the instructions twice, and re-created the management pack, but still get the same results. Is there a way I can get the Incident and ‘Select Objects’ forms to display the fields / columns I want?

    The second problem is that members of the Incident Resolvers group don’t seem to have permissions to save changes to the Incident Form when they have modified the ‘Customer’ field. I’ve created a new User Role for Incident Managers that includes the ‘Customer’ management pack I’ve created, but still get the security error. Members of the Incident Managers User Role also don’t seem to have permissions to create new customers, or modify customer properties either. I don’t really want to give people who manage incidents / customers elevated permissions in SCSM. Is there a way round this?

    I’ve done some work creating Access front end – SQL back end applications, so I sort of understand some of the concepts, but I’m still new to developing within the SCSM framework.

    Hope you can help, many thanks,


  4. Tim says:

    Hi Marcel,

    Sorry of the very long delay in response. In the end I used the ‘display name’ field to get round the problem.

    Thanks for responding,


  5. Tim says:

    Hi Marcel,

    I figured out what I was doing wrong in the end… I’d missed the fact you had made the ‘Customer Name’ property the ‘key’. I’d created an autoincrementing numerical property as the key… too many years working with Access and SQL I guess…


  6. Simon says:

    I’m trying to add a “Location” box to the incident form, so we can track which office our jobs are coming from. i’ve followed the example here and elsewhere, but when i enter data/select an entry it isn’t saved. i’m guessing the data needs to be saved somewhere, but how can i make SCSM do this?

    • Hey Simon

      Either you have not configured the binding correctly or you didnt restart the Service Manager console.


      • Simon says:

        Hi Marcel, thanks for the reply.

        i think it is a binding issue, but i’m not sure how i would check this.
        the tables in the database have been created.
        there is a list with entries in it.
        and i can select a list entry on the incident form.
        what sort of information would i need to give the management pack so that the data goes into the database table? or what can i check to see if the bindings are correct?

        many thanks


      • Simon says:


        i’ve done it again and it is working.
        i think previously i tried to use a work item class, but this time did configuration item class.
        there are plenty of extra bits of information, so i guess i missed a vital step before :-/

        thanks for your help, keep up the great work with these articles.


      • Hey Simon

        Glad to hear it finally worked!


  7. Pingback: Make Service Manager Customer-aware – Part 2 |

  8. Pingback: System Center Service Manager information(blog) overview - System Center Service Manager

  9. Esmond says:

    Hi Marcel,
    Thanks for the excellent posts!
    Hopefully a quick one for you though. Everything is working fine, but after creating the Customer View, it also shows the Object/Configuration items within the Customer View. You mentioned in your ‘Creating View’ post that this could be customizable via the AuthTool – but I can’t for the live of me find out where!



    • Hey

      Thank you for your comment. I dont unterstand exactly what you mean. Please send me a screnshot and description of the problem –> zehner at itnetx dot ch.


      • Esmond says:

        Hey Marcel,
        Thanks for your quick reply. Ended up figuring it out myself. Essentially, when i created the customer view in the console it had some inherited details from the config items. To get around this I created a custom form in the Auth Mgr and then added the necessary fields to that. I then created my view and was able to see only those fields 🙂

        Thanks again

  10. Guido says:

    Hi Marcel, great post. Do you know if i can´t assign a password to an user who is not part of Active Directory and just was add by SCSM console? I ask that because i have a lot costumers from other companies and i want to that kind of costumers log on via scsm portal and they can access view and create incident theyself. Thanks. Guido.

    • Hey

      If you want to give users access to SM, you need to create AD-User Accounts or local Accounts and add them to the User Roles. You cannot give Access to a User CI.


  11. Chris L says:

    Is there a way after added the customer field that you can make it a mandatory field?

  12. Guido says:

    Hi Marcel:
    I Want to know if when i create a customer field in the incident form can asociate with x numbers of affected users of that customers. For example: Customer A, has 3 affected users A1, A2 and A3 and are member of the domain. In the incident form i want when i select a customer A, only show me the affected users A1, A2 o A3 and not all the users in the domain. Can i do that? thanks for all.

  13. Pingback: System Center Service Manager information(blog) overview … | The People Search System

  14. Ali Gomaa says:

    Hi Marcel,
    I was just wondering, can I use the Company and Department field from AD to populate this as well? Going on the basis that a client is using those fields for different companies?

    • Hey Ali

      If you have values in the Company Attribute in AD, you could use those in a read-only Textfield that is displayed on the form. If you then select a specific User Account, The Company Attribute could be displayed in this field. If you mean that, this is possible.


  15. Ali Gomaa says:

    Yup, that’s what I mean,
    Thanks Marcel, just wanted to make sure.

  16. Ed Shepherd says:

    Hi Marcel,

    Thanks for this blog, it has dug us half way out of a hole, now I am wondering if you have any idea how to get us out of the rest of it…

    I have adapted this model to create a relationship between the incident form and a CI class which holds site information (we are a large organisation split over 100+ sites).
    So the picker picks a site and I have another text box which then displays the address details of the site. What we need is a way of displaying this information within an incident view. This would allow us to group calls within the views geographically and by site for the scheduling of engineer work.

    Is this possible from the method above?

    or do you know if there is a way of achieving this? Any help would be greatly appreciated.

    Also in the second part of this article you have added an extra tab to a form. I experimented with this, but on importing the MP, if you opened the form it would always default to the tab I had just added instead of the “General” tab. Is there any way around this?

    I look forward to your response.



  17. Jeff says:


    I have been using your solution for several weeks and it has been working great! However, today I needed to seal the management pack (FlowCusotmer)… now whenever a user clicks the button to open up the customer search/selection dialog window, the service manager client immediately crashes. I have posed the error message below. Any thoughts or suggestions? Oh and the other thing I have noticed, when I went to the Configuraiton Item View to look at my customer list, they are all gone. I have had to reimport after the importing of the sealed MP. Is this normal?


    Stopped working

    Problem signature:
    Problem Event Name: CLR20r3
    Problem Signature 02: 7.0.5000.0
    Problem Signature 03: 4eb3fb07
    Problem Signature 04: Microsoft.EnterpriseManagement.UI.Foundation
    Problem Signature 05: 7.0.1000.0
    Problem Signature 06: 4d644a70
    Problem Signature 07: 11b
    Problem Signature 08: 45
    OS Version: 6.1.7601.
    Locale ID: 1033

    Read our privacy statement online:

    If the online privacy statement is not available, please read our privacy statement offline:

  18. Andrea says:

    Hi Marcel! Do you know if there is a method to populate the Configuration Item of the Customer with SQL Query from a Database? Best Regards, Andrea

  19. Pingback: Automatically Adding the Customer Company CI When an Incident is Created – Workflow Authoring – Part 1 Setting Authoring the Workflow – The Automation Guy

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s