OpenAir
OpenAir is a comprehensive professional services automation platform that provides project management, resource planning, time tracking, and financial management capabilities, enabling professional services organizations to optimize operations, improve profitability, and deliver exceptional client experiences.

Power end-to-end data operations for your OpenAir API with Nexla. Our bi-directional OpenAir connector is purpose-built for OpenAir, making it simple to ingest data, sync it across systems, and deliver it anywhere — all with no coding required. Nexla turns API-sourced data into ready-to-use, reusable data products and makes it easy to send data to OpenAir or any other destination. With comprehensive monitoring, lineage tracking, and access controls, Nexla keeps your OpenAir workflows fast, secure, and fully governed.
Features
Type: API
- Seamless API Integration: Connect to any endpoint as source or destination without coding, with automatic data product creation
- Visual Composition & Chaining: Build complex integrations using visual templates, chain API calls, and compose workflows with data validation and filtering
- API Proxy: Expose curated slices of your data securely with a secure and customizable API proxy that validates and transforms data on the fly
- Request optimization with intelligent batching, retry, and caching to minimize API calls and costs
Prerequisites
Before creating an OpenAir credential, you need to identify your OpenAir account base URL and obtain your OAuth2 Client ID and Client Secret from your OpenAir account. OpenAir uses OAuth2 3-legged authentication, which allows Nexla to access your OpenAir account on your behalf.
To prepare for OAuth2 authentication, ensure you have the following:
-
OpenAir Account Base URL: You need to know your OpenAir account base URL, which is typically in the format
https://<company-id>.app.openair.comwhere<company-id>is your company's unique identifier. You can find this in your OpenAir web application URL. -
OAuth2 Client Application: You must have an OAuth2 client application registered in your OpenAir account. If you don't have one, you'll need to create it in your OpenAir account settings.
-
Client ID and Client Secret: You need to obtain the Client ID and Client Secret from your OAuth2 client application settings in your OpenAir account.
-
Account Access: You must have administrative access or appropriate permissions to register OAuth2 applications and authorize access to your OpenAir account.
-
OAuth Authorization: During the credential creation process, you will be redirected to OpenAir's authorization page to grant Nexla permission to access your OpenAir account. You will need to sign in with your OpenAir account and approve the authorization request.
The OAuth2 flow uses your OAuth2 client application to authenticate with OpenAir. When you authorize Nexla, you grant permission for Nexla to access your OpenAir account data based on the requested scopes (e.g., rest for REST API access). The authorization includes access to read and manage data in your OpenAir account. For detailed information about OAuth2 authentication, available scopes, and API access, refer to the OpenAir REST API Guide.
Authenticate
Credentials required
| Field | Required | Secret | Description |
|---|---|---|---|
| Account Base URL | No | No | Your base domain url for the OpenAir account. This is usually of the form https://<company-id>.app.openair.com |
| OAuth Authorization URL | No | No | The authorization URL of your app. This is <base-url>/login/oauth2/v1/authorize |
| Client ID for Authorization | Yes | No | Client ID for OpenAir Authorization |
| Scope | No | No | The OAuth 2.0 permission scope used to limit the application access. Allowed values: Rest API(scope: rest); XML API(scope: xml); SOAP API(scope: soap) |
| Token URL | No | No | The authorization URL of your app. This is <base-url>/login/oauth2/v1/token |
| Re-enter Client ID for Token URL | Yes | No | Enter the Client ID again. |
| Client Secret | Yes | Yes | Amazon Ads Token Client Secret |
Create a credential in Nexla
- After selecting the data source/destination type, click the Add Credential tile to open the Add New Credential overlay.
New Credential Overlay – OpenAir

-
Enter a name for the credential in the Credential Name field and a short, meaningful description in the Credential Description field.
-
Enter your OpenAir account base URL in the Account Base URL field. This should be the base domain URL for your OpenAir account, typically in the format
https://<company-id>.app.openair.comwhere<company-id>is your company's unique identifier. For example, if your company ID is "contoso", your URL would behttps://contoso.app.openair.com. Ensure the URL includes the protocol (https://) and does not include a trailing slash. You can find your OpenAir account base URL in your OpenAir web application by checking the URL in your browser's address bar; it is also used to construct the OAuth2 authorization/token URLs below. -
Enter your OAuth2 Client ID in the Client ID for Authorization field. This is the Client ID you obtained from your OpenAir OAuth2 client application settings. The Client ID is used in the OAuth2 authorization flow to identify your application.
-
Enter your OAuth2 Client Secret in the Client Secret field. This is the Client Secret you obtained from your OpenAir OAuth2 client application settings. The Client Secret is used in the OAuth2 token exchange and is sensitive information that must be kept confidential.
-
Select the OAuth2 scope in the Scope field. Available options include Rest API(scope: rest) for REST API access, XML API(scope: xml) for XML API access, and SOAP API(scope: soap) for SOAP API access. Select the scope that matches the type of API access you need. The scope determines which OpenAir API capabilities Nexla will have access to.
-
Enter your OAuth2 Authorization URL in the OAuth Authorization URL field. This should be the authorization URL for your OpenAir account, typically in the format
https://<company-id>.app.openair.com/login/oauth2/v1/authorizewhere<company-id>is your company's unique identifier. This URL is used to redirect users to OpenAir's authorization page. -
Enter your OAuth2 Token URL in the Token URL field. This should be the token URL for your OpenAir account, typically in the format
https://<company-id>.app.openair.com/login/oauth2/v1/tokenwhere<company-id>is your company's unique identifier. This URL is used to exchange authorization codes for access tokens. -
Click the Authorize button to begin the OAuth2 authorization process. You will be redirected to OpenAir's authorization page, where you sign in with your OpenAir account credentials and review the permissions Nexla is requesting. Click Accept or Authorize to grant Nexla permission to access your OpenAir account; you will then be redirected back to Nexla, and the credential will be automatically configured with the OAuth2 tokens.
OAuth2 authentication uses your OAuth2 client application to securely access your OpenAir account. When you authorize Nexla, you grant permission for Nexla to access your OpenAir account data based on the requested scope (e.g.,
restfor REST API access). The authorization includes access to read and manage data in your OpenAir account.The OAuth2 tokens (access token and refresh token) are automatically managed by Nexla. The access token is used to authenticate API requests, and the refresh token is used to obtain new access tokens when they expire. Tokens are automatically refreshed as needed to maintain access to your OpenAir account.
If you need to revoke access, you can do so in your OpenAir account settings under OAuth2 applications or Connected apps. For detailed information about OAuth2 authentication, available scopes, and API access, see the OpenAir REST API Guide.
-
Click the Save button at the bottom of the overlay. The newly added credential will now appear in a tile on the Authenticate screen during data source/destination creation.
Use as a data source
To create a new data flow, navigate to the Integrate section, and click the New Data Flow button. Select the OpenAir connector tile, then select the credential that will be used to connect to your OpenAir account, and click Next; or, create a new OpenAir credential for use in this flow.
Endpoint templates
Nexla provides pre-built templates that can be used to rapidly configure data sources to ingest data from common OpenAir endpoints. Select the endpoint from which this source will fetch data from the Endpoint pulldown menu. Available endpoint templates are listed in the expandable boxes below; click on an endpoint to see more information about it and how to configure your data source for this endpoint.
Once the selected endpoint template has been configured, click the Test button to the right of the endpoint selection menu to retrieve a sample of the data that will be fetched. Sample data will be displayed in the Endpoint Test Result panel on the right, allowing you to verify that the source is configured correctly before saving.
Manual configuration
OpenAir data sources can also be manually configured to ingest data from any valid OpenAir API endpoint, including endpoints not covered by the pre-built templates, chained API calls, or custom query parameters. Select the Advanced tab at the top of the configuration screen, and follow the instructions in Connect to Any API to configure the API method, endpoint URL, date/time and lookup macros, path to data, metadata, and request headers.
OpenAir API typically uses the GET method for retrieving data. Endpoint URLs are of the form https://<company-id>.app.openair.com/rest/v1/<resource-type> (e.g., https://<company-id>.app.openair.com/rest/v1/contacts?limit=1000&offset=0). Use $.data[*] as the Response Data Path to extract records from a list endpoint, or $ for single-record endpoints. OpenAir uses offset-based pagination with limit and offset query parameters, returning up to 1000 records per page by default.
Once all of the relevant settings have been configured, click the Create button in the upper right corner of the screen to save and create the new OpenAir data source. Nexla will now begin ingesting data from the configured endpoint and will organize any data that it finds into one or more Nexsets.
Use as a destination
Click the + icon on the Nexset that will be sent to the OpenAir destination, and select the Send to Destination option from the menu. Select the OpenAir connector from the list of available destination connectors, then select the credential that will be used to connect to your OpenAir account, and click Next; or, create a new OpenAir credential for use in this flow.
Endpoint templates
Nexla provides pre-built templates that can be used to rapidly configure destinations to send data to common OpenAir endpoints. Select the endpoint to which data will be sent from the Endpoint pulldown menu. Then, click on the template in the list below to expand it, and follow the instructions to configure additional endpoint settings.
Manual configuration
OpenAir destinations can also be manually configured to send data to any valid OpenAir API endpoint. Using manual configuration, you can also configure Nexla to automatically send the response received from the OpenAir API after each call to a new Nexla webhook data source. Select the Advanced tab at the top of the configuration screen, and follow the instructions in Connect to Any API to configure the API method, data format, endpoint URL, request headers, attribute exclusions, record batching, and response webhooks.
OpenAir API typically uses the POST method and expects JSON format for all requests. Endpoint URLs are of the form https://<company-id>.app.openair.com/rest/v1/<resource-type>. The request body should contain the resource data formatted as JSON, with field names matching the OpenAir API's expected structure — typically {message.json} to send the entire Nexset record, or a custom JSON structure with specific field mappings.
Save & activate
Once all endpoint settings have been configured, click the Done button in the upper right corner of the screen to save and create the destination. To send the data to the configured OpenAir endpoint, open the destination resource menu, and select Activate.
The Nexset data will not be sent to the OpenAir endpoint until the destination is activated. Destinations can be activated immediately or at a later time, providing full control over data movement.