As the leader of our Microsoft CRM practice, I’m always on the hunt for compelling solutions that have the potential to deliver tremendous value and position our clients as leaders in the midmarket space. In the following posts, I’m going to highlight two extremely powerful applications, and tell the story of how, in conjunction with Microsoft CRM, they enabled the rapid deployment of a completely mobile sales force.
Part one is going to focus on the Scribe Online integration platform. It is going to demonstrate how we can easily integrate CRM Quotes, which are entered by salespeople using the RESCO Mobile CRM App, to a legacy ERP system for fulfillment. Part two will focus on the tremendous power and flexibility that the RESCO app provides sales and service teams looking to process transactions and interact with their CRM remotely.
Scribe Online – The Ultimate Integration Platform
The first solution I’m going to highlight is made by a company named Scribe, which offers both a traditional on-premise, as well as a cloud based integration platform; I’m going to focus on their cloud based product, Scribe Online.
In its simplest form, Scribe Online is nothing more than a piece of middleware that facilitates the movement of data between two or more systems – it’s an integration platform. While Scribe is not unique in this regard, what I find makes their product so compelling is the facility with which they allow you to work – in other words it’s easy!
Now, I’m not trying to minimalize the complexity involved in any sort of integration project – but what Scribe Online does, is remove the need for the end user to have any coding skills and instead provides an extremely intuitive point and click user interface to build complex integrations. This concept is very similar to Microsoft CRM workflow – anyone who is familiar with this very powerful tool will thrive with Scribe.
Furthermore, unlike Scribe’s (and other integration solutions) on premise platform, their online offering, in the best scenario, requires zero hardware – and for times when you’re integrating to an on-premise ERP application like Microsoft Dynamics GP, requires a very minor and quick installation of a piece of middleware that they call an agent.
How It Works
When working with Scribe Online, there are really just four main components that you will need to work with.
Connections: As the name implies, these are nothing more than a way to establish a connection with a platform that you will be using as a part of your integration. As a major player in the integration space, Scribe Online offers many pre-built connectors, that allow you to easily connect to most of the major business applications in the world, including Microsoft CRM, Microsoft Dynamics GP, NetSuite, Salesforce and Marketo to name a few. Furthermore, they also allow you to easily connect to non-application specific databases, like Microsoft SQL and Oracle SQL, as well as OBDC and OData to name a few.
Solutions: Once you establish your connections, you will have access to all of the tables and fields associated with the databases that you’ve connected to. Solutions are where you will leverage these connections to build and bundle your integration maps (discussed next) on a common schedule. It is not uncommon to have more than one solution on a given project – for example, you might integrate new customers once a day, but you might want to integrate orders every 10 minutes; to accomplish this, you would use two separate solutions. This should make more sense after you read the next part on Maps.
Maps: Integration maps are where all of the magic happens – this is where you actually get into defining your specific integrations. When building a map, you are effectively:
- Selecting a specific table or record type from one of your connections that you will move data from
- Then, selecting one or many specific table or record type from your connections where you will move data to
- Using Scribe’s point and click controls, you tell it what to do with this data
Looking at the image below, you will see the configuration screen and set of simple tools that Scribe gives you to manipulate your data. I will highlight a few:
- Query: Every single integration will begin with a query. This is where you define the scope of the data that you will be running your integration against. In my example, I am planning to integrate Quotes from Microsoft CRM and moving them to a legacy ERP system. Since I only want quotes that have been submitted or flagged as Ready, I will define my query to apply this filter.
Scribe even lets me define related child relationships within a single integration – in this example, I am going to also include line items for this order. Additionally, Scribe allows me to define a date field against which it will sequence the records it integrates. This will also serve as a secondary filter because it always stores the last date for the data set of the previous integration; this allows me to only integrate new or changed records.
- For Each: After the Query block, every integration always follows with a For Each block. Like the name implies, For Each is basically just a way of going through each record, one at a time (based on the data that you defined in the query) and letting you take a unique set of actions against that record. In my example, I queried all Quotes that have been Submitted. The For Each then loops through this data set and integrate each quote conditionally, one at a time.
- If/Else: Similar to the Query, the If/Else allows me to define conditional statements and then nest subsequent integration actions based on those conditions. For example, if I wanted Quotes over $1,000,000 to go to a different table, I could control that here.
- Lookup: In my opinion, lookups are one of the most powerful tools in the Scribe Online toolbox. Effectively, this allows you to expand the reach and scope of your data set and access data from a host of related records that can be used in your integrations. For example, let’s assume that in Microsoft CRM, each Customer is associated with a Territory, but this Territory is not stored on the Quote itself – but in the ERP system that we’re writing to, we need to store the territory as a value directly on the Order we’re trying to create.Using the Lookup block, we can very easily access the Territory field from the Customer (Account), by passing the Customer Number on the Quote to a search that will look for Accounts in CRM with the same Customer Number. Once I define this relationship, I will now have access to every field on the Account table.
- Update/Insert: Also known as Upsert, this block is where the transfer of data is actually occurring. While blocks like Create, Update and Delete are self explanatory, this command allows you to either Create a new record if one does not exist – or Update an existing record if one already exists. And like everything else in Scribe Online, you can use point and click tools to easily define the Matching Criteria to determine if a record already exists.In my example, I know the when we move a Quote from CRM to the MBCRMHDR table in the ERP system, that the field CORDNO represents the Quote Number in CRM – effectively, this is our Key.
Once we’ve defined our Matching Criteria, we finally get to the Map! On the fields tab, we get to drag and drop fields from the data that we queried in step one – as well as the data from our any of our lookups – to the system that we’re integrating with. It’s that simple.
- ForEachChild: The last block that I’d like to call out is the ForEachChild. This is a very handy tool, similar to the ForEach and Query block, except it automatically filters those records that are children to the records in our Query block. A perfect example of this can be seen in my screenshots – we’re integrating Quotes, so we start with the Headers, and then within our ForEach, we can then easily do a second loop through all of the Line Items associated with the Quote. The means that we can handle both the header and detail of the quote in a single map. Very powerful stuff
Schedule:Now that we’ve built our integration, it’s time to return to the section on Solutions, which as described earlier is simply a whole bunch of maps that run on the same schedule. As you’ll able to see in the screenshot below, there are three scheduling options:
On Demand: Run it when you want
Once: Schedule it to run only one time at a specific date and time
Recurring: There are tons of permutations for how you can schedule recurring integrations. You can choose the frequency in terms of:
Every X days
Specific days of the week
Specific dates within a month
At a specific time
Recurring every X hours
Recurring every X minutes
Well there you have it. We haven’t written a line of code, and we’ve configured an integration of our Quotes in Microsoft CRM Online into Orders in our legacy ERP sytem. This is just the tip of the iceberg, but hopefully it’s clear how powerful an integration tool Scribe Online can be without the need to write any code.
In part two, I’m going to highlight the RESCO Mobile App, which is what allows salespeople to enter their Quotes remotely into CRM – the same Quotes that we just integrated to our ERP system. If you’re looking to deploy a mobile sales solution, are interested in learning more about Microsoft CRM Online, the Scribe Online integration platform or the RESCO mobile app, or have any questions at all, please don’t hesitate to get in touch with us. Until then, Happy (Not) Coding.
MIBAR can help you get the most out of your Microsoft CRM (Dynamics 365) Implementation. We’ve spent the last 15 years perfecting our skills as a Gold Certified Microsoft Consulting and Implementation Partner. Schedule your Microsoft Dynamics CRM consultation today!