Any challenges with your NetSuite integration and sync procedures when it comes to permissions?
Be sure to check out the latest NetSuite Permissions XLS attached to this article to review each if you get errors in the integration which state you need specific permissions for a role or person.
Let's check out this subscriber's questions below might help you shed some light on your question too:
What level of permission does this account need? It does not update customer/contact/transaction info, so I assume view only for those records is fine. For case records probably edit permission?
If I am going to use the Enterprise plan and need to integrate Salesforce for NetSuite too what permissions do I need to add?
NetSuite will not allow using Administrator/Full access role for API starting 2019.1 but still allow the use of a custom role with Full permissions on some objects (Contacts, Customers, etc.).
Try out below the Best Practice for SyncApps integration setup for NetSuite role/permissions:
- Create a NetSuite Custom Role
- Assign required permissions to the NetSuite Custom Role (Permissions List based on integration)
- Assign the role to NetSuite username used in your SyncApps integration
- Specify the Role ID in Sync Profile configuration (This step is not needed if using Token Based Authentication)
Getting the hang of it? Now you need to have the specific PERMISSIONS LIST for the role:
Please assign the following permissions (Full) to the NetSuite Custom Role.
Do note that after adding new permissions in NetSuite they can take up to 24 hours to take effect.
1) Lists - Customers
2) Lists - Contacts
3) Setup - Customer Status
4) Setup - Custom Fields
5) Setup - Custom Body Fields
6) Setup - Custom Entity Fields
7) Setup - Custom Record Types
8) Setup - Custom Lists
9) Setup - Deleted Records (for Deleted Customer/Contact sync)
10) Setup - Setup Campaigns (for Subscription sync)
11) Setup - Web Services
12) Setup - User Access Token (for Token-Based Authentication)
13) Find Transaction - Transactions (if using this type of Saved Search)
14) Transactions - Sales Order, Return Authorization (if using these type of Saved Searches)
15) Lists - Partners (if using this type of Saved Search)
16) Lists - Vendors (if using this type of Saved Search)
17) Lists - Employees (if using this type of Saved Search)
Please continue scrolling down, you might have other integrations with SyncApps and might need to permit more lists.
For Zendesk for NetSuite SyncApps you will also need to assign the following NetSuite Permissions to Full:
1) Lists - Case
2) Lists - Employees
3) Lists - Employee Record
4) Setup - Support Case Status
5) Setup - Support Case Type
6) Setup - Support Case Origin
7) Setup - Support Case Priority
8) Lists - Events
9) Setup - Custom Event Fields
10) Lists - Track Messages (for Comment sync)
For the Zendesk App for NetSuite you will also need to assign the following NetSuite Permissions to Full:
1) Transactions - Sales Order
2) Transactions - Cash Sale (for some Customized apps)
3) Transactions - Item Fulfillment
4) Transactions - Fulfill Sales Orders
5) Transactions - Return Authorization (for RMA creation feature): Full
For NetSuite to Handshake SyncApps the following NetSuite Permissions are also needed:
1) Transactions - Sales Order
2) Lists - Items
3) Setup - Custom Item Fields
4) Setup - Custom Transaction Fields
5) Transactions - Find Transactions
6) Setup Accounting Lists
7) Custom Record - Customer type
8) Lists - Currency
9) Lists - Locations
10) Lists - Documents and Files
For Handshake SyncApps "Standard Customer Form" should be enabled for NetSuite role that is used for SyncApps connection.
SyncApps uses standard form only for updating Handshake external id field so the Standard Form should not be disabled.
You can always use a custom form as your preferred form as in NetSuite you can have more than one enabled forms.
Also, SyncApps will not integrate NetSuite inactive or Soft Opt-Out records.
Do you have custom fields to map between NetSuite & Zendesk?
Additional Field Mapping is optional in your Sync Profile as basic ticket fields such as subject, description, type, status, priority is already mapped.
Try out in edit mode in your Sync Profile in step 4 which is Field Mapping.
Enable Additional Field Mappings
If you happen to get an error like below, then please add 'Custom Event Fields' permission to your NetSuite record to get around this hurdle.
- Permission Violation: You need the 'Custom Event Fields' permission to access this page. Please contact your account administrator. (Error code: INSUFFICIENT_PERMISSION)
Need NetSuite Customer to Zendesk Organization fields to map over?
Saved Search Error:
If your NetSuite SyncApps is unable to get a specific saved search ID which you entered in your profile setup or you have any Custom Record creation issues then the SyncApps will produce the following errors:
- Marketing Metrics related error (ERROR Unable to get or create a custom record for email marketing history)
- A saved search with the internal ID xxx does not exist. (Error code: INVALID_SAVEDSEARCH)
These errors are returned by SyncApps due to one of the following cases:
- The specified saved search is not a Contact or Customer or Transaction Saved Search
- Invalid object type is selected in the configuration
- The specified id is not a saved search Internal ID (Internal ID must be a number)
- The saved search is not set to public
- Insufficient permission for saved search or custom records
To quickly resolve this issue with your NetSuite Administrator or on your own please try these following steps:
- Make sure that the saved search type is either Contact or Customer
- The saved search object type in the configuration must match object type of the saved search object Type in NetSuite; otherwise, you will get invalid saved search error.
- In the saved search definition, please make sure the "Public" checkbox is checked and "Available as List View " is unchecked for the specified saved search. Please also change the saved search owner to the NetSuite username used in your SyncApps setup on Cazoomi.
- Please try to run the sync to see if it works, if the error still persists, please proceed with next steps.
- Please assign NetSuite "Publish Search” global permission to the username that is used in SyncApps then try to re-run the sync after the permission is assigned.
- If the NetSuite user configured in SyncApps has more than one role, please set the default role to be used for web service. The role to be used should have access to saved searches custom fields, customers, contact objects.
If you still get the same error, please try to recreate a new saved search based on the current saved search in your NetSuite account.
You can also try to use another NetSuite username to test.
Setting a Default Role for a Web Services User
This approach is not applicable for Token Based Authentication
If a username has more than one role and default web service role is not specified for the user, SyncApps cannot be sure which role will be taken so the username will work if you set the specific role created for SyncApps as default web service role.
To set a specific default role for a Web services user:
- Click Setup > Integration > Web Services Preferences.
- Select the desired user from the Name drop-down list.
- Select the default role to use for Web services requests for this user.
- The internal ID for the selected role automatically populates the ID field.
- Click Done.
- Click Save.
You can also specify Role ID explicitly in SyncApps like in the following screenshot to make sure the correct Role is used in the sync process.
Note: Adding permissions to a NetSuite role might not apply immediately so to remove the permission cache you will need to remove the role from the NetSuite user.
Next, save the user then re-add the NetSuite role permission again.
Hope our support was helpful as we strive to provide the best subscriber experience in all integrations. Feel free to reach us 24/7 here.