This week’s Tech Tuesday is from our Senior Technical Consultant, Chris Hanson, who will walk you through a scenario with SmartConnect & Microsoft Dynamics CRM.

When working with CRM oftentimes you will need to set the value of one or more picklists. Normally, the data in the source doesn’t match what CRM wants for the picklist or option set. To map to a piclist you need to provide a numeric value.  

You can do this using calculated fields and translations if you have a set amount of possibilities, but if you are adding new values to the picklists often it makes it difficult – as you have to update your code every time you add in a new value.

We can use a multi-lookup to dynamically get the needed value without ever having to update it after it has been set. The multi-lookup will point to the String Map table/entity which stores all the picklist info for the entire CRM organization – which means we need some additional data to complete it:

 To use the multi-lookup to get the picklist from CRM you need to do the following:

1. You need to have the string value you are passing in (which you do, it’s the text value you have)

2. You need the technical name of the entity you are importing to, for this example Account is account. You need to find that through the customization window in CRM for that entity. 

3. You need the AttributeName of the picklist you are setting. You need to find that through the customization window in CRM for that entity for that specific field as well.

4. Once you have those, you can build the multi-lookup you need. The objecttypecode/entityname and AttributeName values should be hardcoded in the source data as those won’t ever change.

5. Then your lookup will look like the following:

– The entity selected at the top should always be stringmap. It is your choice on whether to return an error or not if it doesn’t find a value.

– The objecttypecode and attributename fields should be compared against the values you hardcoded in your source data when you aliased them in.

– The value field should be compared against your field that has the text value in it

– The return field should be the attributevalue as that is what holds the numeric value you need to map to the picklist

6. When you save this multi-lookup you can then map it directly to the industry field that you need in the mapping.

7. This process can be used for any others that will have the picklist values changing as long as you switch the values for the objectype and attributename fields. If you do multiples in the same mapping you’ll just have to change the aliased field names to ObjectType2 AttributeName2 etc for each additional set.

Interested in learning more about SmartConnect and CRM? Feel free to email us at and we’d be happy to help!