Skip to content


Tech Tuesday: SmartConnect and CRM – Setting Picklists using Multi-Lookups

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!


Leave a Comment


Tech Tuesday: Building My First Matrix Report
Overcoming the Top Challenges of Zendesk Integration
Accessing Historical Dynamics GP Data in NetSuite: Using Popdock
Popdock's Top 10 New Features
New Webinar: Getting Started with Matrix Reporting in Popdock


2016 SmartConnect Integration Bootcamps
Tech Tues: Automatically refreshing Pivot Tables in Excel Refreshable Reports
Happy Thanksgiving from the eOne team!
2017 SmartConnect Integration Bootcamps
New Releases of Extender and SmartList Builder



Business Central CRM D365 Business Central Dynamics 365 dynamics crm Dynamics GP Dynamics NAV Econnect Employee Spotlight eone eOne News error Error Message Events Excel Excel Report Builder Extender Flexicoder GP integration Map Microsoft dynamics crm Microsoft Dynamics GP Navigation List Builder Office Relationships Partner All Hands Call Popdock promotions release SalesForce SmartConnect SmartConnect Bootcamp SmartConnect Maps SmartConnect Office Hours SmartList SmartList Builder SmartPost SmartView SQL Tech Tuesday Templates training Zendesk

Integrate & Automate without Any Code.

SmartList Data has Never Been Faster.

The Easiest Way to Report on GP Data.