Enabling Access to OpenAir From Within NetSuite
The OpenAir Within NetSuite (NetSuite Single Sign-On Integration) feature can be used to integrate NetSuite with OpenAir seamlessly through outbound single sign-on. You can give users of both NetSuite and OpenAir access to OpenAir directly from the NetSuite user interface without them having to sign in to OpenAir.
For an overview of the feature, see OpenAir Within NetSuite.
The steps in this help topic describe how to enable and set up the upgraded version of the OpenAir Within NetSuite feature, which uses NetSuite as OIDC Provider as outbound single sign-on method instead of SuiteSignOn. For more information about NetSuite as OIDC Provider, see NetSuite as OIDC Provider (External link to NetSuite SuiteAnswer | Answer ID: 98241).
Until the OpenAir 2023.2 release, OpenAir Within NetSuite relied on the NetSuite Outbound Single Sign-On (SuiteSignOn) feature as outbound single sign-on method. NetSuite plans to end support for SuiteSignOn with the NetSuite 2024.2 for production accounts. The functionality relying on SuiteSignOn may stop working at any time after its end-of-support date.
Upgrade before the NetSuite 2024.2 release to ensure service continuity. For upgrade instructions, see Upgrading OpenAir NetSuite Connector Features to Remove the Dependency on SuiteSignOn.
You should test all integration configuration changes on sandbox NetSuite and OpenAir accounts before implementing them in your production accounts.
To enable access to OpenAir from within NetSuite:
-
In NetSuite, enable the OAuth 2.0 and NetSuite as OIDC feature. See Enable the NetSuite as OIDC Provider Feature (External link to NetSuite SuiteAnswers | Answer ID: 98270).
-
Install or update the following bundles. See Installing a Bundle (external link to NetSuite SuiteAnswers | Answer ID: 10223).
-
NetSuite OpenAir SRP Integration (Bundle ID: 369637) to version 4.0 or later.
This bundle version:
-
Adds fields to the
OpenAir: SRP Integration Settings
custom record type. Some of the fields are required to enable OpenAir NetSuite Connector to use NetSuite as OIDC Provider for outbound single sign-on. -
Adds the following permission to the
NSOA Connector
role:-
OIDC Provider Setup (Full)
-
OAuth 2.0 Authorized Applications Management (Full)
-
Log in using OAuth 2.0 Access Tokens (Full)
-
Certificate management (Full)
-
-
-
NetSuite OpenAir SRP Single Sign-On (Bundle ID: 369619) to version 7.0 or later.
This bundle version:
-
Updates SuiteScript 2 versions of Suitelet scripts to enable access to OpenAir modules in the PSA center tab using NetSuite as OIDC Provider.
-
Updates the
OpenAir: Home module portlet v2.0
Portlet script to enable access to the OpenAir dashboard as a custom portlet on the NetSuite dashboard using NetSuite as OIDC Provider. -
Adds the script
OpenAir: Load subtab
to enable access to the OpenAir record as a subtab on the matching record in NetSuite for selected NetSuite record types using NetSuite as OIDC Provider. -
Switches to using SuiteScript 2 versions of all scripts in the bundle automatically.
Important:Update NetSuite OpenAir SRP Integration bundle (Bundle ID 369637) to Version 4.0 or later before you update NetSuite OpenAir SRP Single Sign-On (Bundle ID 369619) to this version. NetSuite OpenAir SRP Integration bundle (Bundle ID 369637) 4.0 updates the
OpenAir: SRP Integration Settings
custom record type with settings required for using the NetSuite as OIDC Provider for the OpenAir within NetSuite feature.Both bundles include SuiteScript 2 and SuiteScript 1.0 versions of all scripts.
-
After you install or update the NetSuite OpenAir SRP Integration (Bundle ID: 369637) bundle from a previous version, SuiteScript 1.0 version of scripts are deployed by default, unless you switched to SuiteScript 2 versions before the update. You can switch to the SuiteScript 2 versions, or continue to use the updated SuiteScript 1.0 versions. See Switching to SuiteScript 2 Versions of Integration Bundle Scripts.
-
SuiteScript 1.0 versions of scripts in the NetSuite OpenAir SRP Single Sign-On (Bundle ID: 369619) bundle support only the SuiteSignOn method. OpenAir will end support for SuiteScript 1.0 versions of scripts in the NetSuite OpenAir SRP Single Sign-On (Bundle ID: 369619) bundle some time after the NetSuite 2024.2 release, when support for the SuiteSignOn feature ends (date to be confirmed).
-
-
-
If you are using your own custom role for the OpenAir integration instead of the “NSOA Connector” role created by the NetSuite OpenAir SRP Integration (Bundle ID 369637) bundle, make sure that this custom role includes the following permissions and permission levels in the Setup secondary subtab. For more information, see Creating a Custom Role for the Integration in NetSuite.
-
OIDC Provider Setup (Full)
-
OAuth 2.0 Authorized Applications Management (Full)
-
Log in using OAuth 2.0 Access Tokens (Full)
-
-
Create a custom integration record for the OpenAir Within NetSuite feature and set it up for OpenAir NetSuite Connector to use NetSuite as OIDC Provider for outbound single sign-on. See Create Integration Records for Applications that Use NetSuite as OIDC Provider for Outbound Single Sign-on (External link to NetSuite SuiteAnswers | Answer ID: 98323).
-
Use the following settings under the OAuth 2.0 section of the integration record:
-
Authorization code grant — Check the box. This is required for the NetSuite as OIDC Provider integration to work.
-
Redirect URI — Enter one of the following URIs, depending on the type of OpenAir account type you are setting up for the integration:
-
Production account —
https://auth.openair.com/oidc/callback/internal_netsuite_<netsuite_account_id>
-
Sandbox account —
https://auth.sandbox.openair.com/oidc/callback/internal_netsuite_<netsuite_account_id>
where
<netsuite_account_id>
is your NetSuite Account IDImportant:All alphabetical characters in
<netsuite_account_id>
must be lowercase. If your NetSuite Account ID includes uppercase alphabetical characters, replace them with the lowercase equivalent. When setting up the integration between OpenAir and NetSuite sandbox accounts, the NetSuite sandbox account ID typically includes the charactersSB
and should be replaced with the lowercase equivalentsb
. For example, if your NetSuite Account ID is345678_SB2
, the Redirect URI ishttps://auth.sandbox.openair.com/oidc/callback/internal_netsuite_345678_sb2
. -
-
OAuth2.0 consent policy — You should select
Never Ask
so that the integration is autoapproved by an administrator. With other settings, users need to authorize the integration before being able to view OpenAir within NetSuite UI.
-
-
Copy the Consumer key / Client ID and Consumer secret / Client secret and store the information in a safe place. You will need to enter this information on the OpenAir NetSuite Connector credentials form in OpenAir for the NetSuite as OIDC Provider integration to work. See Enabling the OpenAir Within NetSuite Feature in OpenAir – Step 7.
-
-
Give users access to the NetSuite as OIDC Provider integration for the OpenAir Within NetSuite feature.
-
Go to Setup > Integration > NetSuite as OIDC Provider Setup.
-
Click the name of the custom integration record you created for the OpenAir Within NetSuite feature (Step 4).
The Application Settings: <
Integration Name
> window appears. -
On the Entities tab and Employees subtab, check the Select All box to give all users access to the NetSuite as OIDC Provider integration for the OpenAir Within NetSuite feature.
-
On the Roles tab, check the Select All box to give all roles access to the NetSuite as OIDC Provider integration for the OpenAir Within NetSuite feature.
-
Click Save.
-
-
Add the Custom Record Entries permission with View permission level or higher to the relevant roles in NetSuite. Without this permission, users cannot access OpenAir from the NetSuite UI.
For each role, do the following:
-
Go to Setup > Users/Roles > User Management > Manage Roles > [Select a role].
-
Click Edit.
-
In the Permissions subtab, click the Lists secondary subtab.
-
Add a row and select
Custom Record Entries
under Permission, andView
under Level. -
Click Add.
-
Click Save.
Note:If you are using standard roles, you will need to customize standard roles, and assign these new custom roles to users to let these users access OpenAir from the NetSuite UI. For more information about managing roles in NetSuite, see Customizing or Creating NetSuite Roles (External link to NetSuite SuiteAnswers | Answer ID: 9896).
-
-
Update the preferences for the NetSuite <> OpenAir integration.
-
Go to Customization > Lists, Records and Fields > Record Types > [List
OpenAir: SRP Integration Settings
] > [EditOpenAir SRP Integration Settings Record
]. -
Enter the following information:
-
OpenAir URL — The URL for your OpenAir account. The URL must include the account-specific domain name for your OpenAir account. For more information about your account-specific domain name, see Your OpenAir Account URLs.
-
OpenAir Database ID — Your unique OpenAir account number. See Finding the Database ID for Your OpenAir Account.
-
-
In the NetSuite OpenAir SRP Single Sign-On subtab.
-
(Optional) Change the default Suitelet content height (px) and Suitelet content width (px). These values determine the size of the iFrame showing the OpenAir content in NetSuite for all users.
Tip:To utilize the whole of the available page space, set Suitelet content height (px) and Suitelet content width (px) in function of the browser window height and width. For example, set Suitelet content height (px) to
calc(100vh — 184px)
and Suitelet content width (px) tocalc(100vw — 39px)
. -
(Optional) Enter any terminology overrides for OpenAir module names to match any custom terminology defined in OpenAir.
-
Check any of the boxes listed in the following table to show the OpenAir record as a subtab on the matching record in NetSuite. The table lists the integrations settings for each of the supported NetSuite record types and the corresponding types of OpenAir record shown in the OpenAir subtab.
Setting
NetSuite record type
OpenAir record type
Display OpenAir in Contact subtab
Contact
Contact
Display OpenAir in Customer subtab
Customer
Customer
Display OpenAir in Employee subtab
Employee
Employee
Display OpenAir in Expense report subtab
Expense Report
Expense Report
Display OpenAir in Invoice subtab
Invoice
Invoice
Display OpenAir in Journal entry subtab
Journal Entry
Revenue Recognition Transaction
Display OpenAir in Rate card subtab
OpenAir: Project Rate Card
(custom record type)Rate Card
Display OpenAir in Project subtab
Project
Project
Display OpenAir in Item subtab
Service Item
Category
Note:Some of the configuration-based customization available when using the SuiteSignOn feature is not currently available when using the NetSuite as OIDC Provider feature. You would need to deploy custom SuiteScripts to achieve the following functionality.
-
Ability to show the Timesheets module on Support Case records as an OpenAir: Timesheets subtab in NetSuite when using the Tasks (Support Cases) Import Workflow.
-
Ability to set up custom OpenAir subtabs on NetSuite records and displaying OpenAir content other than those listed in the table above. With the SuiteSignOn feature, you could set up custom subtabs and use connection points to associate each custom subtab with a NetSuite record type and use integration variables to specify the OpenAir content shown in this subtab.
If you want to deploy custom SuiteScripts to add support for custom subtabs and portlets, you can do the following:
-
Use the SuiteScripts included in the bundle as examples. Go to Customization > Scripting > Scripts, filter the list by bundle ID 369619 and review the script records.
-
Use the list of available integration parameters as reference. See Custom Subtabs and Portlets Integration Parameters.
-
-
-
Click Save.
-
-
Control which OpenAir modules are available from the PSA tab center submenu. See Managing OpenAir Modules Available from the PSA Center Tab.
-
Control who can access OpenAir from within NetSuite. See Controlling Access to the PSA Center Tab.
-
Enable the OpenAir Within NetSuite (NetSuite Single Sign-On Integration) feature in OpenAir and allow NetSuite outbound single sign-on access for users. See Enabling the OpenAir Within NetSuite Feature in OpenAir.
Important:You must import user records from NetSuite into OpenAir in addition to explicitly allowing them to use the OpenAir Within NetSuite (NetSuite Single Sign-On Integration) feature on the user demographic form in OpenAir.
Custom Subtabs and Portlets Integration Parameters
If you want to deploy custom SuiteScripts to add support for custom subtabs and portlets, you can do the following:
-
Use the SuiteScripts included in the bundle as examples. Go to Customization > Scripting > Scripts, filter the list by bundle ID 369619 and review the script records.
-
Use the following list of available integration parameters as reference.
Integration Parameters |
Value |
Required by |
---|---|---|
|
To show the default view for an OpenAir module in portlets or subtabs, set this variable to the two-letter code for that module.
To show the item or transaction record on a subtab for a NetSuite record, set this variable to the two-letter code for the relevant module.
|
Custom subtabs and portlets |
Additional integration parametes for specific record types:
|
Integration parameter for specific record type. Set the value for the record ID in NetSuite:
Note:
A contact can be associated with more than one company in NetSuite. To refer to a specific contact, set both the company and contact IDs using the integration variables — |
Custom subtabs |