When Plative entered the ERP space, NetSuite was an obvious choice, it’s a top tier ERP, its cloud-based, and from a user base perspective, it has significant overlap with Salesforce. As you can imagine we do quite a bit of NetSuite/Salesforce integration work and depending on the requirements, the project can be time-intensive. That’s why we were thrilled when Salesforce announced the NetSuite connector for Einstein Analytics. Not only can we use that connector to build great dashboards using NetSuite data, but we can also mash that data up with Salesforce data to build cross-platform dashboards! Furthermore, we can surface that data anywhere in Salesforce, as it relates to any record, all without code! This sometimes eliminates the need to build one-way NetSuite to Salesforce integrations.
Setting up the Einstein Analytics NetSuite Connector
If you are doing any kind of Einstein Analytics work, you are probably a Salesforce person (Like me!), and if you are going to give the NetSuite connector a try, you’d start here. Like me, you’d probably think this looks easy enough until you get to the section of the docs that says:
“NetSuite connections use token-based authentication to access NetSuite. To create access tokens, first create an integration in the NetSuite account and enable token-based authentication for it. You can then create access tokens for this integration.”
In addition to the above, you have to configure a few other things like object-level rights and REST APIs. If I didn’t have access to someone who is well versed in NetSuite development, it would have been a struggle to figure these requirements out. Lucky for me we have quite a few expert NetSuite mechanics here at Plative, and lucky for you, our very own Rob MacEwen has agreed to write the next section on this article walking you through the NetSuite side of the setup.
Remember the following info as we’ll need it later:
- Consumer Key
- Consumer Secret
- Account Id
- Rest Domain
- Token Id
- Token Secret
Ok, take it away Rob!
The NetSuite Side
To configure the NetSuite side of the integration, follow these instructions:
- Step 1: Install the “Netsuite_V2_Bundle”, it’s not well named but is a managed bundle:
- Step 2: Once the bundle is installed, you’ll need to ensure that the REST feature in “Enable Features.” is turned on for your account. See below:
- Step 3: Accept the terms of service, then you’ll need to ensure that you have a New Integration under Setup, Integrations, Manage Integrations. You’ll ensure that you select token-based integrations. Be sure to copy the Client Credentials and save them in a secure place.
- Step 4: (Optional) Create a role for the user that will be used to set up the token access. This role should restrict Einstein to ONLY the records that you want it to be able to see and pull across, including child records. You’ll also need to ensure that the role has access to system-level things like custom fields, custom lists, accounting lists, custom column fields etc., experiment with a full access user so you’re not frustrated by lack of data access. Once that’s complete, you can begin to remove access to sensitive data.
- Step 5: Set up your token. In the role you’re connecting with from the home page, click Settings, then Manage Access Tokens. If you don’t see that, you don’t have permission in that role. Click “New My Access Token”, then select your integration, and hit save. Be sure to copy your Token ID and Token secret to a secure place.
- Step 6: Finally, you’ll need your account ID. You can see that in the URL of your home dashboard typically, but if you’re a NetSuite admin you probably know it by heart.
You now have all the information you need to provide your trusted Salesforce guru to connect Einstein and benefit from its power.
Back to you, Dave!
The Salesforce Side
Thank you Rob!
Now that the NetSuite bundle is installed, and the security is all set, we can go ahead and create the connection in Einstein, It’s really easy, just follow the wizard.
From the Data Manager Page, Add a connection (see the image below):
This starts the connection Wizard
- Click Add Connection
- Select NetSuite
- Fill in the connection details, this is the info you collected when setting up the NetSuite
- Consumer Key
- Consumer Secret
- Account Id
- Rest Domain
- Token Id
- Token Secret
- Click “Save & Test”
We now have a connection to NetSuite configured and we’re ready to add all our objects as Edgemarts. The wizard will automatically start the set up for a new object, but we can always add objects later, just come back, click “Connect to Data” again and select our saved connection.
The wizard will automatically start the set up for a new object, then It will ask us to select the object and then the fields as shown below (I selected Invoice):
Tying it All Together
We now have an EdgeMart for the invoice object! (Note: we do need to run the EdgeMart replication sync before we can use it. It can take a bit of time to run, so be patient.)
That’s it! we can now bring the Edgemart into a dataflow, perform all our transformations, and of course join it to our Salesforce data. Here you can see we joined the invoice data to the Salesforce Account object after doing some basic data transformation and filtering. The join was Based on the NetSuite CustomerId, which I keyed into an external Id field on the Salesforce Account records.
Now that we have access to all our NetSuite data in Einstein Analytics. we can go crazy building all our dashboards, and even embed one right into the Account page as I did in the image below (and at the header of this blog)
Enjoyed this article? Visit Dave’s blog at: http://SalesforceDataBlog.com or subscribe by Email or RSS. Follow him on LinkedIn and/or Twitter.