Sonoma Partners Microsoft CRM and Salesforce.com Blog

Sonoma Partners Named the Microsoft Dynamics CRM US Service Industries FY15 Partner of the Year

Last month, Microsoft proudly announced the United States Microsoft Dynamics Partner Award winners during the US Microsoft Dynamics Annual Conference. 

“The US Partner Awards gives Microsoft Dynamics the opportunity to recognize its top partners at a global event.  We are honored to acknowledge the extraordinary contributions and success driven by our Microsoft partners serving a strategic group of customers and driving strong business impact throughout the past fiscal year.” said Marietta Davis, Vice President, US Dynamics.

Sonoma Partners was recognized with the Microsoft Dynamics CRM US Service Industries
FY15 Partner of the Year Award. The company was honored among the top Microsoft partners for demonstrating sales excellence in innovation and implementation of customer solutions based on Microsoft technology.  

Awards were presented in multiple categories, with winners chosen based on their Microsoft Fiscal Year 2015 industry and product sales performance in the United States. Sonoma Partners was recognized for providing outstanding solutions and services, as well as demonstrating excellent engagement in the in the Professional Services Industry.

“Sonoma Partners is seen as an industry leader in the area of Service Industries. They have built their organization by embracing the need to have unique specializations for success.” said Lindsay Zwart, US Partner Lead – Microsoft Dynamics.

Microsoft Dynamics Day 3 Awards-0062

Microsoft Dynamics Day 3 Awards-0147

Our Microsoft Dynamics CRM Sales Team accepting our award in Nashville, Tennessee. 

Topics: Microsoft Dynamics CRM

Announcing CRM DevTools for CRM 2015 and Update 1!

Last January we released a brand new tool called CRM DevTools for CRM 2013 and 2011 UR12+.  Today we’re happy to announce a new update that supports CRM 2015 and CRM 2015 Update 1.  If you missed the original release, head here for usage information or here for the latest release.

Along with CRM 2015 and Update 1 support, we added a few more handy features.

Note:  Most of these new features will open a new window so be sure enable pop-ups

Form Tab – Record Properties

The Record Properties button on the Form tab brings back the old Properties page from CRM 2011 that still exists but isn’t surfaced anywhere in the UI.  The page displays the permissions on the record and the Created By, Created On, Last Modified By, and Last Modified On.

image

image

Form Tab – Performance Center

The Performance Center button on the Form tab displays the native Performance Center on top of the record form.  The Performance Center is used to debug any performance issues with a record form to see where it can be optimized.

image

image

Debug Tab

The new Debug tab replaces the old DB & Server tab.  The information from the old tab is now within the Environment Info button.  The Debug tab has 5 buttons to provide easy access to native debug pages within your CRM environment.

image

Debug Tab – Diagnostics Page

The Diagnostics Page button opens the native Diagnostics page for your environment.  This page helps debug any network issues and admins can use it to run a latency and bandwidth test.

image

Debug Tab – Environment Info

The Environment Info button opens the native Debug Information page for the CRM environment.  It contains version information for the CRM server and database, along with other settings. 

image

Debug Tab – Default Solution

The Default Solution button is pretty straight-forward and will open up the default solution for the organization.
 

Debug Tab – CRM For Tablets

The CRM For Tablets button will open up the CRM For Tablets app within your browser.  This is very handy to help debug any JavaScript issues with the app.  The native browser developer tools can be used to see any JavaScript errors that might occur within the app.  It can also be used to just see how the app will look with your organization.

image 

We hope you enjoy the latest release of CRM DevTools as much as we do!  Hit us up in the comments with any feedback or suggestions for future releases.

Topics: Microsoft Dynamics CRM Microsoft Dynamics CRM 2015 Microsoft Dynamics CRM Online

Come Clean With Your CRM Data

Two common concerns for professional services firms (accounting, management and IT consulting, AEC, and legal) surrounding CRM deployments are how to initially pull clean contacts into a CRM system and how to then keep them clean once they are there. 

This is a unique challenge professional services firms face because it's very common for firms to have duplicate contacts across multiple divisions within the same CRM system. Let's look at an accounting firm whose services includes audit, human capital, tax, and business advisory services. It's routine for a member of each of these teams to have a duplicate instance of the same contact with similar or varying information attached to the contact record. In other words, it's nearly impossible to start a project with "good" data. 

Before:

Before

Because these duplicates exist, it makes it very difficult, if not impossible, for the firm as a whole to put out consistent messaging and effectively cross-sell services to existing clients. This is especially troublesome for marketing teams who are working to prevent marketing communication going to the same contact multiple times. It doesn’t look great if four members of your team from four different divisions are reaching out to the same contact at the same time trying to sell different things. As obvious as this may seem, we see it happen all the time.

It's time for professional services firms to come clean with their CRM data to strengthen long-term relationships with their existing clients and ensure data accuracy within their CRM in the future.

We have identified the following four steps to assist professional services firms with contact migration and management: prepare, analyze, migrate, and manage.

1. Prepare

Where is your data coming from? This is where you identify the data sources where your records exist which could include Outlook, an incumbent CRM system, ERP, spreadsheets, or another homegrown data system. This is also where you divide business vs. personal information and flag contacts that should be included or excluded in CRM.

We have the ability to choose which fields from CRM will sync to the primary record and which fields will remain private. This means if you have the home phone number of Paul Brown but your colleague doesn't, that field will be hidden and remain for your eyes only.

At the end of the prepare step you will have a targeted list of uncleansed contacts that are ready to be cleansed.

2. Analyze

Time to come clean. In this step of the project your data gets cleansed based on analysis and business rules. 

Important aspects of the analyze phase of the project include:

  • Identifying who owns a contact
  • Identifying who can view a contact
  • Defining rules of engagement
  • Discussing private data needs

Normalization, data enrichment, and data security are all taken into consideration as we work towards creating a comprehensive list of cleansed contacts that are ready to be imported into CRM.

3. Migrate

Now it's time to move. We begin by segregating existing contact records in Outlook and then executing business logic on the contact data set. Then we migrate data from the staging area to CRM. We will work with you to determine the best method for migration, whether it be SSIS vs. 3rd party tool. Your output will be the same: cleansed contacts in both CRM and Outlook.

4. Manage

Once you've gone through the process of normalizing your data and importing a clean batch into CRM you want to keep it that way. It's difficult to keep data clean on an ongoing basis and if you don't, user adoption will suffer. Enter the role of data stewardship.

Designating a member of your team as the CRM data steward (this does not need to be a full-time role) and giving them the tools they need to keep the data clean will ensure that your CRM remains pristine. Regularly scheduled data cleansing activities and a commitment of a data steward resource will ensure that you have clean data going forward.

After:

Afterr

This methodology we have developed ensures that your contact data is comprehensive, clean, and continues to stay that way so your organization’s CRM remains accurate (and useful) moving forward. Properly migrating and managing your CRM contacts will allow your marketing team to access marketable data that can be used to increase customer intimacy.

Do you work at an accounting, consulting, AEC, or legal firm and feel that your CRM system could benefit from data cleansing? Contact us today to learn more about contact migration and contact management for professional services firms.

Topics: CRM Best Practices CRM for Professional Services

Refreshed Dynamics CRM Phone App Available

A few months back, Microsoft announced the new and improved version of their Phone Client would be available with the Spring 2015 release.  However, with releasing any app to the various app stores, they’re not released immediately.

However, recently the app did show up in the Apple app store and we were able to get our hands on it to take a look and compare it to the previous version.  The previous version is still available in the app store, and has been rebranded “Dynamics CRM for phones express.”  A couple years ago we blogged about it’s release and the functionality it provided back then.  I linked to that post so you could compare and contrast the look and feel of the previous express version, to the new and improved version.

The new version, branded “Dynamics CRM for phones”, is now available in the Apple store, Windows store, and Android store.  You can tell the difference in the apps based on the icon and name.

imageimage

Microsoft is moving to a “configure once, deploy everywhere model.”  What does that mean?  That means the life of a configurator is going to be that much better.  More specifically, the form customizations you make in the CRM web client, will now not only be what you see on the CRM Tablet client (as they have been since it’s release), but will also be what you see on the new CRM Phone client.  Therefore instead of having to update the main forms AND the mobile express forms, you’ll just need to update the main form for any changes you make to be applied across the board.

Now to the details.  What does the new Phone Client look like?  Well if you’ve used the Tablet Client before, it’ll look very similar to that.

When you initially log in (requiring only your IFD URL to your organization, user id and password), you’ll see your home page.  This home page is the Sales Dashboard.  However, in the Web Client, you can create additional dashboards that can be selected when you’re on the home page on the Phone Client, and you can also make that dashboard your default dashboard.

image  image

As you can see, from here you’re able to view records that you’ve pinned to your home page.  You can also resize tiles that are on your home page and this makes it super convenient for records with contact information like the Patrick Sands sample contact record above.  You can easily email and call this contact now directly from your home page without having to click into his record.

You can also see at the top of the page the global menu bar which has the following commands from left to right:

  • Back – takes you to previous pages
  • Home – takes you to your home page
  • Search – initiates a multi-entity search
  • Site Map – displays the entities you can navigate to

Also on all pages at the bottom right is an ellipses.  Clicking on this presents more options for the area you’re working in, as well as allows you to create a new record from anywhere you’re at within the application.

image

When you navigate to an entity from the site map, you can create a new record of that entity type by clicking the plus button at the top of the page.

image image

When on a record, you can view the data about the record and related data very easily.  The Phone Client now uses the same exact forms that the Tablet Client and Web Client use (configure once, deploy everywhere).  If you’re going in to talk to a customer, you can navigate to their account and view any open cases or opportunities immediately from the Phone Client.  You can click into an Opportunity to then see the process based form, and where you’re at within the sales process.

image image image

The phone app also allows you to easily create emails and make phone calls by clicking on email address and phone number fields.  The email fields will automatically open your native email client, and the phone fields will automatically initiate your phone client.  The good thing is after you hang up the call, you’re returned to CRM with a new phone form initiated so you can just punch in the details and click save.

image image

image image

The integration between the Phone Client and the native mobile phone doesn’t end there.  Any address field on the application is clickable, and when doing so, you’ll open up the native map application.

The Phone Client also has a disconnected mode just like the Tablet Client.  While the offline mode is better that previous versions, this is still lacking in that it’s not showing you all records that you have access to, but instead, recently accessed records.  You can create new records while offline (called offline drafts), but unfortunately you cannot modify records while offline unless it was one that you just created while offline.  You can view your offline draft records by navigating to them via the Site Map (you’ll see a new “Draft Records” entry with a count of drafts).  Then when you’re back online, you can go into this list of drafts, and re-save them for them to save to the CRM database.  Not ideal, but is much better than nothing, and I’m really looking forward to what Microsoft has in store for vNext.

image image image

It’s great to see Microsoft continue this “mobile first’ mode and add more products to it’s repertoire.  Enhancing the Mobile Express app and making a true mobile phone app now rounds out their suite of products (web, tablet, phone) to all be first class.  Next steps are to add more features to these apps so that functionality that’s available on the web, is also available on these apps (e.g., custom web resources).  I’m also looking forward to seeing how they further improve on their offline story, and hopeful they provide a true offline solution where users can work with existing records while offline, and not only new records they create while offline.

However, as you can see, the application is pretty robust as it stands.  And the best part is the cost:  FREE!  Go ahead and download your copy now and start playing around.

Topics: Enterprise Mobility Microsoft Dynamics CRM Microsoft Dynamics CRM 2015 Microsoft Dynamics CRM Online

You Too Can Snoop… But Not In A Creepy Way

Today’s guest blogger is Stephen Habegger, a Senior Developer at Sonoma Partners.

Awhile back, we showcased an application called CRM Snoop on our website. Snoop is a tool that allows developers to listen to Dynamics CRM plugin messages and peer into the darkest depths of an IPluginExecutionContext object. It’s a tool that can be extremely useful for plugin debugging and development and was only available for use internally at Sonoma Partners… until now.

We’ve recently revamped the application completely, moving away from its former incarnation as a WPF application and creating a new managed solution that can be installed in both on-premise and online Dynamics CRM 2015 environments. And now we’re making the solution publicly available here.

What’s In the Solution?

The Snoop solution will create two new entities in your Dynamics CRM organization, Snoop Session and Snoop Session Results. A Snoop Session represents a configuration for snooping on plugin messages (i.e. what entities and what messages you want to listen to). When you start recording a set of messages, a plugin is registered on those messages, and they are saved as Snoop Session Results records.

How Do I Use It?

After installing the CRMSnoop managed solution, navigate to Settings > Solutions. Click the new Snoop Sessions button in the command bar.

image

A new window will launch with a list of Snoop Session records. Open one or create a new one. When the form has loaded, select the entities and messages you wish to record. Optionally, select Include Available Images to register Pre and Post Entity Images where applicable. You can also select Only Record My Actions to ensure actions performed by other users don’t show up in your results. Then, just click Start Recording.

image

After you begin recording, the Results section of the Snoop Session form will display an animated timeline of messages as they happen. You can click on the message icons in the timeline or in the table below to display the detailed properties of the IPluginExecutionContext passed to the plugin message. When you are finished recording, click the Pause Recording button.

image

image

You can also navigate to the list of related Snoop Session Results in the header of the Snoop Session form. The form for an individual Snoop Session Results record also displays the results for that particular message.

image

It is important to note that the recording process relies on the Snoop Session record status. That means recording does not end automatically when the Snoop Session form is closed. The recording must be stopped by clicking the Pause Recording button. The recording may be resumed at any time with the same or altered configuration. In some scenarios it may make sense to let a recording continue over a period of time. However, we do not recommend this in a production environment as there may be a performance impact.

What Is It Good For?

Snoop is an excellent tool for developing and debugging plugins in a variety of scenarios. It allows the developer to see the input a plugin may receive without profiling or attaching a debugger. Use it to check out what fields are changing during an Update operation. Keep a link handy to a specific Snoop Session Results record for when you don’t remember what’s in that pesky Opportunity Won message. Record in a User Acceptance Testing environment to collect a log and figure out what those crazy users are doing to break your plugin.

Will you find another use for Snoop? Let us know what your favorite features are and how you use it.

Enjoy!

Topics: Microsoft Dynamics CRM Microsoft Dynamics CRM 2015 Microsoft Dynamics CRM Online

CRM Online Spring 2015 – Alternate Keys

With the release of CRM Online Spring 2015 Update, Microsoft delivered the ability to define alternate keys for an entity.  Alternate keys can be one or many attributes that are a unique combination of columns to uniquely identify a record instead of using the typical primary key.  Alternate keys can be made up from a combination of decimal, integer or string attributes.

Lets dig into how the new alternate keys can work in CRM based on a real-world scenario.

In my example we have an entity for States and our Contact entity has a Lookup to the State entity.  The State entity has an attribute called Code where it will store the unique two character abbreviation for the State such as IL for Illinois.  There is an integration with another system where Contacts will be passed to Dynamics along with the two character abbreviation for State.  Alternate keys work perfectly in this scenario as we can just associate the State record to the Contact record by using the State’s Code instead of needing to query to find it’s GUID.

In order to accomplish this, we first need to go to the customizations for the State entity.  Underneath the entity is a new link for Keys.

keys

Click New which will open a dialog and let you pick one or more keys that will make up a unique combination to identify a record.  We will select Code as a Key for our State entity.

newkey

Now with the SDK when updating a Contact record, in order the set a Lookup value we would need to use the EntityReference object and provide a GUID to a State record but with the latest Spring Update and the latest SDK, we can instead pass in a value for the Code attribute like shown in the snippet below.


Therefore if our integration sends us a Code for the Contact’s State such as “IL”, we can just update our Contact record using the “IL” value and avoid needing to do a query against the State entity to find the GUID for the IL State record.

One last thing to point out about alternate keys is that CRM will put a constraint on the entity to make sure the new alternate keys make up a unique identifier for the entity.  If you try creating a record with a duplicate set of alternate keys, you will see an error similar to the one shown below.

duplicate

Topics: Microsoft Dynamics CRM Microsoft Dynamics CRM 2015 Microsoft Dynamics CRM Online

How to Mass Update Business Process Stages

Today's guest blogger is Rachel Sullivan, a Senior Consultant at Sonoma Partners

CRM allows you to easily update fields on records using their bulk edit functionality.  Records that you can query and return back in a list/grid can all be edited using this functionality.

However, since it’s currently not a field on the Opportunity form, there is no way to update the Business Process stage using this native bulk edit feature.  However, fear not, as Sonoma is here to provide a workaround on how to edit this field using native export/import.

In order to update the Business Process Stage using this workaround, follow these steps below.

1. You’ll first need to find the unique identifier of each process stage (the GUID).   To accomplish this, use Advanced Find to identify the opportunities that you would like to update.

3. Edit the columns and include Process Stage

4. Click Results and from this view, you can see all of the unique Process Stages and their GUIDS

image

You will need to match each unique GUID with the Process Stage Name.  The easiest way to do this is to open a record of each unique Process Stage value, view the Process Stage name.  Do this for each unique Process Stage.

For Example:

  • d3ca8878-8d7b-47b9-852d-fcd838790cfd = Propose
  • 650e06b4-789b-46c1-822b-0da76bedb1ed = Develop

imageimage

5. Once all GUIDS are gathered, you’ll need to export the records that you’d like to update.  When doing this, make sure to check the box that makes the file available for re-import (note that with CRM 2015 Online Update 1, all records are automatically exported for reimport and this step isn’t necessary.  This should come to CRM 2015 On Prem in the fall).  Save the file locally and open it with Excel.

image

6. Once in Excel, copy and paste the GUID of the business process stage (that you’d like to change each record to) into the Process Stage column.  Save the file and import back into CRM.

Topics: Microsoft Dynamics CRM Microsoft Dynamics CRM 2011 Microsoft Dynamics CRM 2013 Microsoft Dynamics CRM 2015 Microsoft Dynamics CRM Online

Customer Success Story: Grant Thornton

Sonoma-success-stories3

"In our business, relationships matter." - Rick Stow

Grant Thornton LLP is one of the world's leading organizations of audit, tax and advisory firms. Although their revenue is in excess of $1.3 billion and they operate in 57 offices across the globe, Grant Thornton hasn't set out to be the biggest accounting organization in the world.

They know they compete with four larger firms, thus being the biggest doesn't differentiate them from the rest of the crowd. What does? Establishing closer relationships and personalized service that earns credibility and increases value. Enter the tool that helps Grant Thornton build and nurture personalized relationships with their clients: Microsoft Dynamics CRM.

Prior to their Dynamics CRM implementation, Grant Thornton lacked visibility into their contact and account records, as well as information that spanned across multiple employees and practice areas. Maintaining various customer management solutions, including SalesLogix, proved to be a challenge that sometimes led to duplication of effort and missed opportunities.

Grant-thornton-blog

With one consolidated system, Grant Thornton is determined for their firm to maintain a meaningful relationship with each client in their CRM. Here are 3 ways their CRM solution helps them achieve this goal:

1. Commitment to Mobility 

A majority of Grant Thornton's employees spend a majority of their time outside the office, making the mobile component of their CRM project essential to their success. Not only did a mobile solution give their team members the functionality where and when they needed it, but it helped drive widespread user adoption - the key component of a successful CRM project.  

 2. Rise of Collaboration 

Relationships are everything in professional services firms, and people are very protective of their relationships and their contact records. Grant Thornton worked to overcome this mindset in order to understand the full scope of a client relationship. To foster effective collaboration, Grant Thornton integrated SharePoint, Lync and Yammer to promote a dialogue around client and account activities.

3. Enhanced Sales Processes 

Their new CRM solution accommodates different sales processes and regional requirements, helping to achieve the "One Firm" goal they had when starting the project. As collected data enters the CRM solution, employees can pinpoint the strengths, weaknesses, and threats of an opportunity. Because this information is centrally located and visible to appropriate parties - account managers can collaboratively develop a plan for pursuing the relationship. 

We worked with Grant Thornton for 11 months to create their custom Microsoft Dynamics CRM solution. Here are some lessons learned from their deployment: 

 Iterate: 

Don’t bite off more than you can chew. Your CRM project is ongoing and can be done in phases. It's okay to go live with fewer requirements and communicate broadly as you roll out additional functionalities. 

 Reduce the scope of the project: 

Don't go down the rabbit hole of adding on endless nice-to-have features. Most of your employees don't operate at that level of detail and if they do, they don't want to maintain a system that requires that much detail. Phase out the introduction of the system to drive widespread adoption.  

Are you ready to write your own CRM success story? We’re ready to help. 

Topics: CRM for Professional Services Microsoft Dynamics CRM Online

Summer ’15 – View Query Plan Notes

In a previous post, we talked about a (then pilot) feature of Salesforce that assists in debugging slow running queries. With the Summer ’15 release, Salesforce has improved this feature by allowing us to see any notes the query optimizer has for the highest ranked query plan (the query plan most likely to be used).

What This Means for Me

Ultimately this release is about empowering the developer to dig deeper into the platform and solve their own problems, without having to involve Salesforce support. This allows us to find and fix problems quickly, while reducing time spent in development (and therefore cost). While this isn’t a feature that most of us will use on a daily basis, it’s always good to have more options and information when things do go wrong.

Enabling Query Plans

By default, query plans (and therefore the query plan notes) are not shown in the developer console. To enable them, open the developer console and go to Help > Preferences and change the ”Enable Query Plan” options to true:

0

After saving, the Query Plan button will be displayed on the Query Editor tab:

1

IsDeleted

You might notice that almost every query you view the plan for will have a note of

“Not considering filter for optimization because unindexed. Table: {your table}: [“IsDeleted”]”

The reason for this note is that Salesforce internally appends IsDeleted = false to your queries when you use the normal Query endpoint (or SOQL without the ALL ROWS key words), which filters out any records in the trash bin. The query plan is telling you that this field is unindexed and therefore the query will not be optimized based on that field. In general you can ignore this note, since there’s not a lot you can do about it without contacting Salesforce. However, this does demonstrate that the query you send to Salesforce is not necessarily the actual query that gets run, and these notes are a good way to sometimes discover hidden issues that will let you open more intelligent cases for Salesforce support to assist with.

Topics: Salesforce.com

Integrating data with Salesforce via SSIS and CData

Introduction

A common need in the enterprise world is the need to be able to integrate data between disparate systems (ERP, POS, data warehousing, etc...). Increasingly CRM systems are becoming common-place in the mix of systems needing to be able to talk to each other, and one of the largest CRM systems in the market is Salesforce. Unfortunately, Salesforce’s size and breadth of scope can make it intimidating for developers to get started, and even figuring out how to connect can be daunting if you don’t already know where to look. Thankfully, there are third party drivers such as the one provided by CData that make this task easy, and let developers focus on business logic instead of Salesforce connections and APIs.

 Today we will be looking at how to integrate data with Salesforce using SSIS and CData’s SSIS driver.

Setup

SSIS

In this article, we assume you already have basic familiarity with SSIS and will not go through the setup steps for SSIS itself. We’ll be integrating Account data from a local database table in to Salesforce, and have set up the SSIS package to read the Account data as the first step.

Upsert Accounts

Retrieve Accounts

For our sample, we’ll use the following Account table:

Account Table

In this table, the Name field is the name of the Account, and the Id is the database generated Id.

Installing the CData SSIS-Salesforce driver

In order to connect to and interact with Salesforce, we’ll need to install a driver. We’ll be using the CData SSIS-Salesforce driver to accomplish this task, which you can download from their site. After downloading, simply follow the prompts to install and restart Visual Studio if you left it open.

Connecting to Salesforce

To begin, we need to first be able to authenticate against your Salesforce instance, which means we need Salesforce credentials.

Note: If you’re following along just for fun, you can sign up for a free Salesforce org from https://developer.salesforce.com/. The free developer org has lower data limits, but for our purposes is identical to most other Salesforce orgs you’ll need to connect to.

There are a few pieces of information you’ll need before you can continue further:

  • The salesforce username + password for the account you want to use as the integration account.
  • The type organization you are connecting to (Developer, Production, Sandbox, etc.)
  • An optional security token, depending on your organization’s security settings.

Gathering the username + password

This is the same as the username and password you use when you log in to Salesforce through the browser.

Gather the type of organization

A vast majority of the organizations you will have to communicate with will be one of 3 types: Production, Sandbox, or Developer. For our purposes, we only need to know if we are in a Sandbox organization. Generally you should be able to find this out by asking your Salesforce administrator, but you can also look in the setup menu to find this information:

Salesforce Edition

Gathering the security token

The security token is a random string of letters, numbers and symbols that is tied to your user’s password. It is needed when accessing Salesforce through the API if your organization’s security settings have not whitelisted your IP address. Generally this value should be provided by your Salesforce administrator, but if you don’t know it (or you have a new user) you can reset it.

Warning: Resetting the security token resets it for all applications using the account. If you have other integrations using this account, do not reset the security token unless you plan on updating it in all locations.

There are two places you go to reset your security token, depending on your organization version.

Through the Setup Menu

In some organizations, resetting your security token can be done through the Setup Menu:

Setup Menu

Reset Security Token Setup

Reset Security Token Setup Confirm

Through “My Settings” Menu

If you don’t see Reset My Security Token in the setup menu, then you need to go through the My Settings menu:

Reset Security Token My settings

Reset Security Token My Settings Confirm

Regardless of which route you need to take, once you click the confirm button you will receive an email from Salesforce with your security token.

Adding the connection to SSIS

Now that we have the required information, we can create a new SSIS connection. In the Connection Managers section, add a new connection of type CDATA_SALESFORCE:

SSIS Connection

On the following screen, fill in the Authentication portion with the information we just gathered. If you do not need a security token, leave the field blank.

The “Use Sandbox” field is where we use your organization type: if you have a Developer or Production organization leave this as false, if you have a Sandbox organization set this box to true.

SSIS Auth

SSIS Connection Test

Leave all of the other settings as their defaults and click OK.

Mapping the data

Now that we have a connection to Salesforce established, we can begin mapping your data from the database table to the Account object in Salesforce.

To start, we need to add a new CData Salesforce Destination:

CData Salesforce Destination

CData Connection Manager

Once you have the destination established, it follows the same conventions that most data mappings follow. You can pick from the input list, and map it to a field in the output list:

CData Mappings

Error Handling

With the mapping set up, we need to add error handling for any records that fail to be inserted. The simplest method is to log the errors to a flat file, which we’ll use for now:

Error Logging

Of course, since this is using the standard SSIS error redirection, you can add any logic needed by your business requirements.

Wrap Up

At this point, you have a fully functioning Salesforce connection, and can push data from your local database to Salesforce. Hopefully this walk through makes finding the connection information easy, and utilizing CData’s Salesforce driver for SSIS authentication allows for interacting with Salesforce in a straightforward manner. Using the driver makes integrating your ERP, web site, and POS systems with Salesforce easy, allowing you to keep your data in sync and ensure everyone is always on the same page.

Topics: Salesforce.com