Skip to main content
Versa Networks

Service Provider Configuration of Cloud Applications for API-Based Data Protection

Versa-logo-release-icon.pngFor supported software information, click here.

Versa API-based data protection (API-DP) secures SaaS and IaaS applications using APIs provided by cloud services. This article is for cloud service providers and describes how to configure API-DP applications to make them available to their customers, and includes configuration procedures for the following SaaS and IaaS cloud applications:

  • Asana
  • Box
  • Cisco Webex
  • Citrix ShareFile
  • Confluence
  • Dropbox
  • Egnyte
  • Github
  • Gmail
  • Google Drive
  • Jira
  • Microsoft OneDrive
  • Microsoft Outlook
  • Microsoft SharePoint
  • Microsoft Teams
  • Microsoft Yammer
  • Notion
  • Salesforce
  • ServiceNow
  • Slack
  • Trello
  • Zendesk
  • Zoom
  • Amazon Web Services
  • Google Cloud Platform
  • Microsoft Azure
  • Oracle Cloud Infrastructure

Asana for API-DP

  1. Navigate to the Asana developer console and log in.
  2. Click Create new app.

    Asana-create-new-app-border.png
     
  3. Enter the details as shown in the following image, and then click Create app.

    Asana-create-new-app-details-border.png
     
  4. From the left menu bar, navigate to the OAuth tab, and then click Add redirect URL.

    Asana-Oauth-v2-border.png
     
  5. Add the redirect URL as shown below, and then click Add.

    Asana-add-redirect-URL-v2-border.png
     
  6. In the left menu bar, click Manage distribution. The following screen displays.

    Asana-manage-distribution-v2-border.png
     
  7. Select Any workspace as the distribution method, and then click Save changes.
  8. In the left menu bar, click Basic. The following screen displays.

    Asana-basic-information-v2-border.png
  9. Store the Client ID and the Client Secret for later use.
     

Box API-DP

  1. Log in to box.com with an admin account.
  2. Check for the Admin console and Dev Console buttons at the bottom of the left menu bar. If both are not present, as shown below, then the Box account type is not supported for creating applications.

    Box-left-nav-cropped.png
     
  3. Click Dev Console.
  4. Create the OAuth application:
    1. On the My Platform Apps screen, click Create Platform App.

      Box-my-platform-apps-border.png
       
    2. In the Create Platform App screen, select Custom App.

      Box-my-platform-apps-custom-app-border.png
       
    3. Enter the details in step 1 of the Create a Custom App window, and then click Next.

      fBox-create-a-custom-app-page1-border.png
       
    4. In step 2, select User Authentication (OAuth 2.0) as the Authentication method, and then click Create App.

      Box-create-a-custom-app-page2-border.png

      The app is created and is ready for use.
  5. Click the Configuration tab on the OAuth 2 App screen.
  6. Copy the Client ID and Client Secret and store them for later use.
  7. Enter the OAuth 2.0 Redirect URL below:
    • Redirect URL—https://<cluster-FQDN>/v1/box/auth-callback

      Box-Oauth-app-configuration-v2-border.png
  8. Click Add.
  9. Add scopes and permissions to the application as shown in the following screenshot, and then click Save Changes at the top right corner of the screen.

    Box-my-platform-apps-custom-app-scopes-permissions-border.png

    OAuth 2.0 is now ready.
     
  10. Create the JWT app:
    1. Click My Platform Apps in the left menu bar.

      Box-my-platform-apps-left-nav.png
       
    2. Select the Create Platform App option.
    3. Select Custom App, and then enter the details as shown in step 1 below.

      Box-create-a-customer-app-JWT-page1-border.png
       
    4. In step 2, select Server Authentication (with JWT), and then click Create App.

      Box-create-a-customer-app-JWT-page2-border.png

      The JWT App is created.
       
  11. Click the Configuration tab on the JWT App screen.

    Box-JWT-app-configuration-border.png
     
  12. Copy the client ID and store it for later use.
  13. Select the scope, and then select the access options as shown in following screenshots.

    Box-Oauth2-0-credentials-1-v2-border.png

    Box-Oauth2-0-credentials-2-v2-border.png
     
  14. To generate a JWT key JSON file, click Generate a Public/Private Keypair button in the Add and Manage Public Keys section. A file is then downloaded. Contact Versa Networks with this file. 

    Box-add-manage-public-keys-border.png
    Box-add-manage-public-keys-popup-note-border.png
     
  15. Click the Save changes button in the top right corner. 
  16. Click My Platform Apps in the left menu bar.
  17. Create the Box Custom Skill app:
    1. Select the Create Platform App option.
    2. Select Box Custom Skill.

      Box-my-platform-apps-Box-custom-Skill-border.png
    3. Enter the required details, as shown below. 

      Box-my-platform-apps-Box-custom-Skill-create-border.png
    4. Click Create App. The Box Skill is created. 
       
  18. Click the Configuration tab, copy the client ID, and provide the Invocation URL:
    • Invocation URL—https://<cluster-FQDN>/v1/box/webhook

      Box-Webhook-Skills-A-border.png
  19. Click the Save Changes button in the top right corner.
  20. Authorize the OAuth and JWT applications, and set up Skill:
    1. Navigate to the Admin Console from the left menu bar in your account home screen (see Step 2).
    2. Click Integrations in the left menu bar.
    3. Select the Platform Apps Manager tab, click Server Authentication Apps, and then click Add Platform App in the upper right corner.
    4. Enter the JWT app client ID and the Box custom Skill app client ID, and then authorize. 
    5. Select the User Authentication Apps tab, and then click Add Platform App.
    6. Enter the OAuth app client ID, and then authorize.

      Box-my-platform-apps-platform-apps-manager-v2-border.png
       
  21. Navigate from app.box.com/master/platform-apps/userauth to app.box.com/master/skills.
  22. Click the + Add Skill button.

    Box-Skills-v2-border.png
     
  23. Enter the Box Skill client ID. Click Next.
  24. Select All content in your company, and then click Next.

    Box-Skills-Review-v2-border.png
     
  25. Click Enable in the the upper right corner.

Cisco Webex API-DP

  1. Sign into Webex Developer and navigate to https://developer.webex.com/my-apps/new/integration.

    Webex-new-integration-border.png
     
  2. Enter the Integration Name, upload or select an Icon, and enter an App Hub Description, Redirect URI(s), and scopes. Then click Create Integration. The following screen displays.

    Webex-create-integration-border.png
  3. Store the client ID and client secret for later use.

Citrix ShareFile API-DP

To configure a new instance for Citrix ShareFile:

  1. Navigate to https://api.sharefile.com/apikeys, and then click Create New.

    Citrix-Fileshare-API-keys-border.png
     
  2.  Enter the name and redirect URL shown below:
    • Redirect URL—https://<cluster-FQDN>/v1/citrixfile/auth-callback
  3. Click Generate API Key.
  4. Store the client ID and client secret for later use. 

    Citrix-Fileshare-API-key-generator-border.png

    Citrix-Fileshare-API-key-generator-created-border.png

Confluence for API-DP

  1. Navigate to https://developer.atlassian.com/console/myapps/ and log in.
  2. In the My Apps screen, click Create > OAuth 2.0 integration.

    Confluence-OAuth-integration-v2-border.png
     
  3. In the new window, enter the App name, click the checkbox to agree to the terms, and then click Create.

    Confluence-OAuth-integration-create-border.png
     
  4. In the Developer screen, click Permissions in the left menu bar, then click the Add button to the right of Confluence API.

    Confluence-OAuth-integration-add-permissions-v2-border.png
     
  5. Click the Configure action for Confluence API.

    Confluence-OAuth-integration-configure-border.png
  6. In the new window, click Edit Scopes, and then assign all permissions to the application you created.

    Confluence-OAuth-integration-edit-scopes-border.png
     
  7. After assigning permissions, navigate to the Authorization tab, and then click the Add action for OAuth 2.0.

    Confluence-OAuth-authorization-border.png
     
  8. Enter the Callback URL below, and then click Save changes.
    • Callback URL—https://<cluster-FQDN>/v1/confluence/auth-callback

      Confluence-OAuth-callback-URL-v2-border.png
  9. Navigate to Distribution and tab, and then click Edit.

    Confluence-OAuth-edit-distribution-border.png
     
  10. Enter all details, and select Yes for the Personal Data Declaration, as shown below.

    Confluence-OAuth-distribution-details-v2-border.png
  11. Click Save changes. 
  12. Navigate to the Overview tab > App information or Settings.

    Confluence-OAuth-app-information-save-v2-border.png
  13. Store the Client ID and Client Secret for later use.
     

Dropbox API-DP

  1. Login to https://www.dropbox.com/developers (use the admin account), and then click App Console.

    Dropbox-app-console-v2-border.png

    Dropbox-login-border.png
     
  2. Click Create app.

    Dropbox-create-app-border.png
     
  3. Enter all details, select the scope and other details as shown below, and then click Create app.

    Dropbox-create-app-DBX-border.png
     
  4. Once the app is created, select the Settings subtab, scroll down to the App key and App secret fields. Copy and store them for later use. 
  5. Enter the URLs for OAuth redirect and Webhook shown below:
    • OAuth redirect URL—https://<cluster-FQDN>/v1/dropbox/auth-callback
    • Webhook URL—https://<cluster-FQDN>/v1/dropbox/webhook

      Dropbox-create-app-details-v2-full-border.png
       
  6. Select the Permissions subtab, and then select all Individual Scopes and Team Scopes.

Egnyte for API-DP

  1. Navigate to https://developers.egnyte.com/member/register, and then enter information for the fields shown below.

    Egnyte-register-account-1-border.png
    Egnyte-register-account-2-border.png
    Egnyte-register-account-3-border.png
     
  2. Click Register. 
  3. After you click register, an email is sent to the registered email address. When you receive this email, click the link in the email to complete the registration.
  4. Sign in at https://developers.egnyte.com/apps/mykeys.

    Egnyte-my-API-keys-border.png
     
  5. Store the key and secret from My API Keys -> KEYS for later use.

GitHub for API-DP

  1. Navigate to https://github.com and log in.
  2. Click your profile icon in the top-right corner of the GitHub interface.

    Github-login-v2-border.png
     
  3. Select Settings from the drop-down menu.

    Github-settings-border.png
     
  4. In the left menu, choose Developer Settings.

    Github-developer-settings-border.png
     
  5. Click GitHub Apps on the Developer Settings section, and then click New GitHub App.

    Github-developer-settings-apps-details-border.png
     
  6. Enter the following application details:
     
    Field Description

    GitHub App name

    Enter a unique name for your GitHub App (for example, Versa Networks).

    Homepage URL (Optional)

    Add a URL that users can visit for more information (for example, https://versa-networks.com).

    Callback URL

    Enter https://<cluster-FQDN>/v1/github/auth-callback.

    Webhook URL

    Enter https://<cluster-FQDN>/v1/github/webhook.

    Permissions

    Repository permissions:

    • Administration—Read and write
    • Contents—Read and write
    • Webhooks—Read and write

    Organization permissions:

    • Administration—Read only
    • Events—Read only
    • Members—Read and write
    • Personal access tokens—Read and write
    • Webhooks—Read and write

    Account permissions:

    • Email addresses—Read only

    Subscribe to events

    Member, Push, and Repository.

    Where can this GitHub App be installed?

    Enter Any account.

  7. Retain the default values for the remaining fields.
  8. Click Create GitHub App to create the app.

Gmail for API-DP

  1. Navigate to the Google Cloud Console at https://console.cloud.google.com and log in.
  2. Locate the project where you want to create the application, and then search for APIs & Services in the search bar and select the project from the results.

    Gmail-APIs-and-Services-border.png
     
  3. Select Credentials in the left menu.

    Gmail-credentials-border.png
     
  4. Click + CREATE CREDENTIALS in the top menu bar, and then choose OAuth client ID from the drop-down list.

    Gmail-create-credentials-OAuth-v2-border.png
     
  5. Click the Application type field, and select Web Application from the drop-down list.

    Gmail-credentials-web-application-border.png
     
  6. In the Name field, enter a name to identify the application.
  7. In the Authorized redirect URIs section, click + ADD URI.

    Gmail-web-client-border.png
     
  8. Enter the URI as shown below, and then click Create.

    Gmail-web-client-filled-in-border.png
     
  9. After the credentials are created, a popup window appears with the Client ID and Client Secret. Store these for later use.

    Gmail-OAuth-client-created-border.png

Google Drive for API-DP

  1. Create a Google Cloud project.
    1. Navigate to the Google Cloud Console: https://console.cloud.google.com/.
    2. Sign in with your Google Account.
    3. Click on the project drop-down (top left, next to Google Cloud). 
    4. Click New Project. 
    5. In the Select a resource screen, enter your project details, and then click Create.

      GDrive-border.png
       
  2. To enable billing:
    1. Navigate to the Billing Section at https://console.cloud.google.com/billing.
    2. Select your newly-created project. 
    3. If no billing account exists, click Create Account.
    4. Attach the Billing Account to your project.
  3. To enable Google Drive API: 
    1. Navigate to the API Library at https://console.cloud.google.com/apis/library.
    2. Search for Google Drive API. 
    3. Click on Google Drive API and enable it.

      GDrive-enable-API-border.png
       
  4. To create a service account (this allows your application to authenticate without user intervention):
    1. Navigate to Service Accounts at:
      https://console.cloud.google.com/iam-admin/serviceaccounts.
    2. Select your project. 
    3. Click + Create Service Account. 
    4. Enter the details of the account.
    5. Click Create and Continue. 
    6. Grant roles.
    7. Click Continue, and then click Done.

      GDrive-create-service-account-border.png
       
  5. Generate a JSON Key for the service account.
    1. In the Service Accounts page, click on your newly-created service account. 
    2. Navigate to the Keys tab. 
    3. Click Add Key > Create new key. 
    4. Select JSON as the key type. 
    5. Click Create.

      Google-Cloud-create-new-key-border.png
       

      Note: Your credentials are downloaded automatically in a JSON file. Store this file securely. It contains sensitive information.

  6. Enable domain-wide delegation.
    1. Navigate to the Service Accounts page at https://console.cloud.google.com/iam...erviceaccounts.
    2. Select the service account. 
    3. Click Edit. 
    4. Click the checkbox for Create Google Workspace marketplace-compatible oauth client. 
    5. Enter a name for the OAuth consent screen (if prompted).
    6. Save the changes.
    7. Copy the Client ID shown on the page and store it for later use. 

      GDrive-domain-wide-delegation-border.png
       
  7. Create OAuth Client for Grant Access flow.
    1. Navigate to Google Cloud Console.
    2. Select your project or create a new one.
    3. Navigate to APIs & Services > Credentials.
    4. Click Create Credentials  > OAuth Client ID.
    5. Set application type. For a web app, select Web application.
    6. Configure Authorized Redirect URIs, for example, https://<cluster-FQDN>/v1/gdrive/auth-callback.
    7. Click Create.
    8. Copy the Client ID and Client Secret and store them for later use. 

      GDrive-create-border.png
       
  8. API Quotas
    1. Navigate to IAM & Admin > Quotas & System Limits > Google Drive API.
    2. The screen displays the default quotas.

      GDrive-default-quotas-border.png
       
    3. To request more quotas, enter a quota value and click SUBMIT REQUEST.

      GDrive-more-default-quotas-border.png​​​​​

Jira for API-DP

  1. Navigate to https://developer.atlassian.com/console/myapps/ and log in.
  2. Click Create in the My apps section, and then select OAuth 2.0 integration.

    Jira-my-apps-v2-border.png
     
  3. Enter the application name in the new window, check the terms, and then click Create.

    Jira-create-OAuth-app-border.png
     
  4. Navigate to the Permissions tab, and then click the Add action for Jira API.

    Jira-OAuth-add-border.png
     
  5. Click the Configure action for Jira API.

    Jira-OAuth-configure-border.png
     
  6. In the new window, click Edit Scopes, and then assign permissions to the application you created.

    Jira-app-permissions-border.png
     
  7. After assigning permissions, navigate to the Authorization tab, and then click the Add action for OAuth 2.0.

    Jira-app-authorization-border.png
     
  8. Enter the Callback URL below, and then click Save changes.
    • Callback URL—https://<cluster-FQDN>/v1/jira/auth-callback

      Jira-authorization-callback-border.png
  9. Go to the Distribution tab, and then click Edit.

    Jira-authorization-distribution-border.png
     
  10. Enter all details, and select Yes for the Personal Data Declaration, as shown below. 
  11. Click Save Changes.

    Jira-OAuth-distribution-details-v2-border.png
  12. Navigate to the Overview > App information or Settings.
  13. Copy the the Client ID and Client Secret, and store them for later use.

    Jira-authentication-details-border.png

Microsoft OneDrive API-DP

  1. Navigate to https://portal.azure.com
  2. Select App Registrations. 
  3. Click New Registration.

    OneDrive-new-registration-v2-border.png
     
  4. Enter details as shown below:
    1. Name—Enter a name for the application.
    2. Supported account types—Select Accounts in any organizational directory (Any Microsoft Entra ID tenant - Multitenant).
    3. Redirect URL—Select Web as the URL type, and enter the URL in the format shown below.

      OneDrive-register-an-app-v2-border.png
    4. Click Register to complete the registration. 
  5. Record the application (client) ID and store it for later use. 

    OneDrive-record-app-ID-v2-border.png
     
  6. In the left menu bar, select Certificates & secrets.
  7. Click + New client secret.

    OneDrive-new-client-secret-v2-border.png
     
  8. Enter a description and expiry time, and then click Add at the bottom of the page.
  9. Copy the Value (not the Secret ID) and store it for later use. Note that this value is not accessible once you leave the page.

    OneDrive-new-client-secret-assign-value-v2-border.png
     
  10. Assign API permissions in the created application:
    1. In the newly created application's left menu bar, click API Permissions, and then select the + Add a permission option.
    2. Assign all permissions shown in the following table.
       

      Permission

      Type

      Description

      Application.Read.All

      Application

      Read all applications

      Application.ReadWrite.All

      Application

      Read and write all applications

      Directory.Read.All

      Application

      Read directory data

      Directory.ReadWrite.All

      Application

      Read and write directory data

      Domain.ReadWrite.All

      Application

      Read and write domains

      Files.Read.All

      Application

      Read files in all site collections

      Files.ReadWrite.All

      Application

      Read and write files in all site collections

      Mail.ReadWrite

      Application

      Read and write mail in all mailboxes

      MailboxSettings.ReadWrite

      Application

      Read and write all user mailbox settings

      offline_access

      Delegated

      Maintain access to data you have given it access to

      Sites.FullControl.All

      Application

      Have full control of all site collections

      Sites.Manage.All

      Application

      Create, edit, and delete items and lists in all site collections

      Sites.Read.All

      Application

      Read items in all site collections

      Sites.ReadWrite.All

      Application

      Read and write items in all site collections

      User.Read

      Delegated

      Sign in and read user profile

      User.Read.All

      Application

      Read all users' full profiles

  11. After adding permissions, select Grant admin consent for <org_name>.

Microsoft Outlook API-DP

  1. Navigate to https://portal.azure.com
  2. Select App Registrations. 
  3. Click New Registration.

    OneDrive-new-registration-v2-border.png
     
  4. Enter details as shown below.

    OneDrive-register-an-app-v2-border.png
  5. Click Register to complete the registration. 
  6. Record the application (client) ID and store it for later use. 

    OneDrive-record-app-ID-v2-border.png
     
  7. In the left menu, select Certificates & secrets.
  8. Click + New client secret.

    OneDrive-new-client-secret-v2-border.png
     
  9. Enter a description and expiry time, and then click on Add at the bottom of the page.
  10. Record the Value (not the Secret ID) and store it for later use. Note that this value is not accessible once you leave the page.

    OneDrive-new-client-secret-assign-value-v2-border.png
     
  11. Assign API permissions in the created application:
    1. In the newly created application's left menu bar, click API Permissions, then select the + Add a permission option.
    2. Assign all required Microsoft Graph permissions by selecting each permission type individually.
       

      Permission

      Type

      Description

      AuditLog.Read.All

      Application

      Application Read all audit log data

      Directory.Read.All

      Delegated

      Read directory data

      Directory.Read.All

      Application

      Read directory data

      Domain.Read.All

      Application

      Application Read domains

      Mail.ReadWrite

      Application

      Application Read and write mail in all mailboxes

      MailboxSettings.Read

      Application

      Application Read all user mailbox settings

      offline access

      Delegated

      Maintain access to data you have given it access to

      Organization.Read.All

      Application

      Application Read organization information

      User.Read.All

      Application

      Application Read all users' full profiles

  12. After adding permissions, select Grant admin consent for <org_name>.

Microsoft SharePoint API-DP

  1. Navigate to https://portal.azure.com
  2. Select App Registrations. 
  3. Click New Registration.

    OneDrive-new-registration-v2-border.png
     
  4. Enter the details shown below:
    1. Name—Enter a name for the application.
    2. Supported account types—Select Accounts in any organizational directory (Any Microsoft Entra ID tenant - Multitenant).
    3. Redirect URL—Select URL type as Web and enter the URL in the format shown below:

      OneDrive-register-an-app-v2-border.png
       
  5. Click Register to complete the registration. 
  6. Record the application (client) ID and store it for later use. 

    OneDrive-record-app-ID-v2-border.png
     
  7. In the left menu, select Certificates & secrets.
  8. Click + New client secret.

    OneDrive-new-client-secret-v2-border.png
     
  9. Enter a description and expiry time, and then click on Add at the bottom of the page.
  10. Record the Value (not the Secret ID) and store it for later use. Note that this value is not accessible once you leave the page.

    OneDrive-new-client-secret-assign-value-v2-border.png
     
  11. Assign API permissions in the created application:
    1. In the newly created application's left menu bar, click API Permissions, then select the + Add a permission option.
    2. Assign all required Microsoft Graph permissions by selecting each permission type individually.
       

      Permission

      Type

      Description

      Application.Read.All

      Application

      Read all applications

      Application.ReadWrite.All

      Application

      Read and write all applications

      Directory.Read.All

      Application

      Read directory data

      Directory.ReadWrite.All

      Application

      Read and write directory data

      Domain.ReadWrite.All

      Application

      Read and write domains

      Files.Read.All

      Application

      Read files in all site collections

      Files.ReadWrite.All

      Application

      Read and write files in all site collections

      Mail.ReadWrite

      Application

      Read and write mail in all mailboxes

      MailboxSettings.ReadWrite

      Application

      Read and write all user mailbox settings

      offline_access

      Delegated

      Maintain access to data you have given it access to

      Sites.FullControl.All

      Application

      Have full control of all site collections

      Sites.Manage.All

      Application

      Create, edit, and delete items and lists in all site collections

      Sites.Read.All

      Application

      Read items in all site collections

      Sites.ReadWrite.All

      Application

      Read and write items in all site collections

      User.Read

      Delegated

      Sign in and read user profile

      User.Read.All

      Application

      Read all users' full profiles

Microsoft Teams API-DP

  1. Navigate to https://portal.azure.com
  2. Select App Registrations. 
  3. Click New Registration.

    OneDrive-new-registration-v2-border.png
     
  4. Enter the following details:
    1. Name—Enter a name for the application.
    2. Supported account types—Select Accounts in any organizational directory (Any Microsoft Entra ID tenant - Multitenant).
    3. Redirect URL—Select Web as the URL type, and then enter the URL in the format shown below:

      OneDrive-register-an-app-v2-border.png
       
  5. Click Register to complete the registration. 
  6. Record the application (client) ID and store it for later use.

    OneDrive-record-app-ID-v2-border.png
     
  7. In the left menu, select Certificates & secrets.
  8. Click + New client secret.

    OneDrive-new-client-secret-v2-border.png
     
  9. Enter a description and expiry time, and then click Add at the bottom of the page.
  10. Record the Value (not the Secret ID) and store it for later use. Note that this value is not accessible once you leave the page.

    OneDrive-new-client-secret-assign-value-v2-border.png
     
  11. Assign API permissions in the created application:
    1. In the newly created application's left menu bar, click API Permissions, and then select the + Add a permission option.
    2. Assign all required Microsoft Graph permissions by selecting each permission type individually.
       

      Permission

      Permission Type

      Description

      offline_access

      Delegated Permission

      Maintain access to data you have given it access to

      ChatMessage.Send

      Delegated Permission

      Send user chat messages

      Directory.Read.All

      Delegated Permission

      Read directory data

      ChannelMessage.Send

      Delegated Permission

      Send channel messages

      Channel.ReadBasic.All

      Application Permission

      Read the names and descriptions of all channels

      ChannelMessage.Read.All

      Application Permission

      Read all channel messages

      ChannelMessage.UpdatePolicy

      Application Permission

      Flag channel messages for violating policy

      Chat.Read.All|

      Application Permission

      Read all chat messages

      Chat.ReadWrite.All

      Application Permission

      Read and write all chat messages

      Chat.UpdatePolicyViolation

      Application Permission

      Flag chat messages for violating policy

      ChatMessage.Read.All

      Application Permission

      Read all chat messages

      Directory.Read.All

      Application Permission

      Read directory data

      Organization.Read.All

      Application Permission

      Read organization information

      Team.ReadBasic.Alll

      Application Permission

      Get a list of all teams

      TeamMember.ReadWrite.All

      Application Permission

      Add and remove members from all teams

      User.Read.All

      Application Permission

      Read all users' full profiles

  12. After adding permissions, select Grant admin consent for <org_name>.

Microsoft Yammer API-DP

  1. Navigate to https://portal.azure.com
  2. Select App Registrations. 
  3. Click New Registration.

    OneDrive-new-registration-v2-border.png
     
  4. Enter the following details, then click Register.
    1. Name: Enter a name for the application.
    2. Supported account types: Select Accounts in any organizational directory (Any Microsoft Entra ID tenant - Multitenant).
    3. Redirect URL: Select URL type as Web and enter the URL in the format shown below:

      OneDrive-register-an-app-v2-border.png

      The application is registered.
       
  5. Record the application (client) ID.

    OneDrive-record-app-ID-v2-border.png
     
  6. In the left menu bar, select Certificates & secrets.
  7. Click + New client secret.

    OneDrive-new-client-secret-v2-border.png
     
  8. Enter a description and expiry time, and then click on Add at the bottom of the page.
  9. Immediately copy the Value (not the Secret ID) to somewhere safe.

    Note: This value will be no longer accessible after you leave the page.

    OneDrive-new-client-secret-assign-value-v2-border.png
     
  10. Assign API permissions in the created application:
    1. In the newly created application's left menu bar, click API Permissions, then select the + Add a permission option.
    2. Select following permissions one by one and click Add Permission.
      1. Under Microsoft graph >  Delegated permission >. User.Read.
      2. Under Yammer > Delegated permission > access_as_user.

        Teams-add-permissions-border.png

Notion for API-DP

To create a new API-DP integration in Notion:

  1. Click the three dots in the upper right corner of the screen, and then select Add connections > Manage connections.

    Notion-manage-connections-border.png
  2. Select My connections > Develop or manage integrations.

    Notion-manage-integrations-border.png
     
  3. In the Integrations screen, click + New Integration.

    Notion-add-new-integration-border.png
     
  4. In the APIDP-Notion screen, enter a name in the Company name field.

    Notion-add-new-integration-APIDP-Notion-border.png
     
  5. Set the integration to public.
  6. Connect to one workspace and fill out the required information.
  7. Under OAuth Domain & URIs, enter the Redirect URI, and then click Save.

    Notion-OAuth-domain-and-URI-border.png
     
  8. The OAuth Client-ID and OAuth Client Secret are displayed under Secrets. Record and store them for later use. 

    Notion-secrets-border.png

Salesforce for API-DP

  1. Login to https://login.salesforce.com/ and navigate to Setup.
  2. In the left menu, click Platform Tools > Apps > App Manager.

    Salesforce-left-nav-border.png
     
  3. Click New Connected App in the upper right corner.

    Salesforce-new-connected-app-border.png
     
  4. Enter the required information for the app, including the name, API name, contact email, and description.

    Salesforce-new-connected-app-details-border.png
     
  5. In the API (Enable OAuth Settings) section, click the checkbox for Enable OAuth Settings.

    Salesforce-enable-OAuth-settings-border.png
     
  6. Enter the Callback URL for the app, and then select the full and refresh_token scopes, as shown below.

    Salesforce-callback-URL-v2-border.png
     
  7. Retain the default settings for the remaining fields, and save the changes.
  8. Click Manage Consumer Details, which displays a Consumer Key and Consumer Secret, and then save these settings.

    Salesforce-manage-connected-apps-border.png
     
  9. Obtain the package URL from Versa Networks, which should be provided to customers for event monitoring.

ServiceNow for API-DP

No configuration is required for ServiceNow.

Slack for API-DP

  1. Navigate to https://api.slack.com/apps and log in.
  2. Click Create New App. and then select From an app manifest.

    Slack-create-new-app-from-manifest-v2-border.png
     
  3. Select the workspace to develop the app, and then click Next.

    Slack-select-workspace-v2-border.png
     
  4. Choose either YAML or JSON, erase the default content, and paste the app manifest provided below in Slack for Application Manifests (by replacing the placeholders for the app name, auth callback, and webhook URLs), then proceed to the next step. 

    Slack-select-YAML-or-JSON-v2-border.png
     
  5. Confirm the details, and then click Create.

    Slack-review-v3-border.png
     
  6. Under Settings, select Manage Distribution.

    Slack-manage-distribution-v2-border.png
     
  7. Click to expand the Remove Hard Coded Information section, and then click the checkbox to continue. 

    Slack-reviewed-removed-hardcoded-v2-border.png
     
  8. Click on Activate Public Distribution at the bottom of the page.

    Slack-activate-v2-border.png
     
  9. Under the Event Subscriptions tab, make sure you do not see "Your URL didn't respond". If you do see this message, as shown below, click Retry.

    Slack-event-subscriptions-v2-border.png
     
  10. Navigate to the Basic Information tab.
  11. Copy the Client ID, Client Secret, and Signing Secret, and store them for later use. 

    Slack-basic-information-v2-border.png

Slack for Application Manifests

Copy and paste the following application manifests for JSON and YAML as described in Step 4 above.

JSON

{

    "display_information": {

        "name": <APP NAME>

    },

    "features": {

        "app_home": {

            "home_tab_enabled": false,

            "messages_tab_enabled": true,

            "messages_tab_read_only_enabled": true

        },

        "bot_user": {

            "display_name": <APP NAME>,

            "always_online": true

        }

    },

    "oauth_config": {

        "redirect_urls": [

            <AUTH_CALLBACK URL>

        ],

        "scopes": {

            "user": [

                "channels:history",

                "channels:read",

                "groups:history",

                "groups:read",

                "im:history",

                "im:read",

                "mpim:history",

                "mpim:read"

            ],

            "bot": [

                "channels:history",

                "channels:read",

                "groups:history",

                "groups:read",

                "im:history",

                "im:read",

                "mpim:history",

                "mpim:read"

            ]

        }

    },

    "settings": {

        "event_subscriptions": {

            "request_url": <WEBHOOK URL>,

            "user_events": [

                "channel_archive",

                "channel_created",

                "channel_deleted",

                "channel_id_changed",

                "channel_rename",

                "channel_shared",

                "channel_unarchive",

                "channel_unshared",

                "group_archive",

                "group_deleted",

                "group_open",

                "group_rename",

                "group_unarchive",

                "im_created",

                "member_joined_channel",

                "member_left_channel",

                "message.channels",

                "message.groups",

                "message.im",

                "message.mpim"

            ]

        },

        "org_deploy_enabled": false,

        "socket_mode_enabled": false,

        "token_rotation_enabled": true

    }

}

 

YAML

display_information:

  name: <APP NAME>

features:

  app_home:

    home_tab_enabled: false

    messages_tab_enabled: true

    messages_tab_read_only_enabled: true

  bot_user:

    display_name: <APP NAME>

    always_online: true

oauth_config:

  redirect_urls:

    - <AUTH_CALLBACK URL>

  scopes:

    user:

      - channels:history

      - channels:read

      - groups:history

      - groups:read

      - im:history

      - im:read

      - mpim:history

      - mpim:read

    bot:

      - channels:history

      - channels:read

      - groups:history

      - groups:read

      - im:history

      - im:read

      - mpim:history

      - mpim:read

settings:

  event_subscriptions:

    request_url: <WEBHOOK URL>

    user_events:

      - channel_archive

      - channel_created

      - channel_deleted

      - channel_id_changed

      - channel_rename

      - channel_shared

      - channel_unarchive

      - channel_unshared

      - group_archive

      - group_deleted

      - group_open

      - group_rename

      - group_unarchive

      - im_created

      - member_joined_channel

      - member_left_channel

      - message.channels

      - message.groups

      - message.im

      - message.mpim

  org_deploy_enabled: false

  socket_mode_enabled: false

  token_rotation_enabled: true

Trello for API-DP

  1. Navigate to https://trello.com/power-ups/admin and log in.
  2. Click the Get Started button or navigate to the Apps section.
  3. Click the New button to start the application creation process.

    Trello-new-v2-border.png
     
  4. Fill in the required details for your application, including the name, Workspace, and any relevant URLs, then click Create.

    Trello-power-up-border.png
     
  5. Navigate to API key tab, and then click Generate a new API key.

    Trello-API-key-border.png
     
  6. In the Allowed origins field, enter the Callback URL, and then click Add.

    Trello-callback-URL-v2-border.png
     
  7. Copy the API key and Secret and store them for later use.

Zendesk for API-DP

  1. Click the Settings icon in the left menu, and then click Go to Admin Center.

    Zendesk-go-to-admin-center-border.png
     
  2. Add the OAuth client by navigating to Admin Center > Apps and Integrations > APIs > Zendesk API > OAuth Client > Add OAuth Client.

    Zendesk-add-OAuth-client-border.png
     
  3. Set the Unique identifier and Type to be confidential, and then enter the Redirect URL and generate the secret. 

    Zendesk-add-OAuth-client-details-border.png
     
  4. Click Save.
  5. Store the secret for later use. The unique identifier and secret is the client-id and client-secret used to grant access.
  6. To create the webhook, go to Apps and integrations > Webhooks > Create Webhook.

    Zendesk-create-webhook-border.png
     
  7. In the Create webhook screen, select Trigger or automation.

    Zendesk-create-webhook-2-border.png
     
  8. Enter the endpoint URL, request method (POST), and format (JSON).

    Zendesk-add-details-border.png
     
  9. To create a Trigger, go to Objects and rules > Triggers > Add Trigger. 

    Zendesk-create-trigger-border.png
     
  10. Add conditions when an event happens (in this case, when comment is created or updated).

    Zendesk-add-trigger-conditions-border.png
     
  11. For Actions, choose the webhook created.

    Zendesk-actions-border.png
     
  12. Customize the JSON body:

{ "user": { "id": "{{current_user.id}}", "name": "{{current_user.name}}", "email": "{{ticket.requester.email}}" }, "obj_owner":{ "name": "{{ticket.requester.name}}", "email": "{{ticket.requester.email}}" }, "tenant": { "id" : "{{current_user.organization.id}}", "name" : "{{ticket.brand.name}}" }, "created_at": "{{ticket.updated_at_with_timestamp}}", "ticket_id" : "{{ticket.id}}", "obj_id": "{{ticket.latest_comment.id}}", "subject": "{{ticket.title}}", "content": "{{ticket.latest_comment.value}}", "attachments": [ {% for attachment in ticket.latest_comment.attachments %} { "name": "{{attachment.filename}}", "url": "{{attachment.url}}" }{% unless forloop.last %},{% endunless %} {% endfor %} ] }

Zoom for API-DP

Note: All steps should be performed from the Admin Account.

  1. Navigate to Account Settings.

    Zoom-app-marketplace-border.png
     
  2. Navigate to Admin -> App Marketplace.
  3. In the App Marketplace, select Build App from the drop-down list in the top right corner.

    Zoom-build-app-border.png
     
  4. Click General App, and then click Create.

    Zoom-create-general-app-border.png
     
  5. Copy the Client ID and Secret and store them for later use.

    Zoom-create-general-app-2-border.png
  6. Add the OAuth Redirect URL as shown below, and then click Continue.

    Zoom-client-ID-secret-border.png
  7. Get the token for event subscription.

    Zoom-token-border.png
     
  8. Enable and configure event subscription.
    1. Set Webhook for file-send/message-send and Webhook Event notification endpoint URL.

      Zoom-event-subscription-border.png

      Zoom-event-types-border.png
      • Team Chat DM Message Posted
      • Team Chat DM Message Updated
      • Team Chat DM Message Deleted
      • Team Chat Channel Message Posted
      • Team Chat Channel Message Updated
      • Team Chat Channel Message Deleted
      • Team chat file uploaded
      • Team chat file changed
      • Team chat file deleted
         
    2. Set Webhook for meeting-join/channel-join and Webhook Event notification endpoint URL.

      Zoom-meeting-join-border.png

      Zoom-meeting-event-types-border.png
       
      • Meeting
        • Participant/Host joined meeting
      • Chat Channel
        • Chat Channel Created
        • Chat Channel Updated
        • Chat Channel Deleted
        • Member Invited
        • Member Removed
        • Member Joined
           
  9. Click Save and continue.
  10. Click Continue for Surface configuration.

    Zoom-surface-configuration-border.png
     
  11. Click Continue for Embed configuration.

    Zoom-embed-configuration-border.png
     
  12. On the next screen “Add Scopes”, search and add scopes as shown in the below screens.

    Zoom-add-scopes-1-border.png

    Zoom-add-scopes-2-border.png

    Zoom-add-scopes-3-border.png

    Zoom-add-scopes-4-border.png

    Account
    • account:read:account_setting:master — View an account's settings
    • account:read:settings:master — View an account's settings
    • account:read:account_setting:admin — View an account's settings
    • account:read:settings:admin — View an account's settings
    • account:read:lock_settings:admin — View an account's lock settings
    • account:read:managed_domains:admin — View an account's managed domains
    • account:read:registration_settings:admin — View an account's registration settings
    • account:read:vanity_url:admin — View an account's vanity URL
    • account:read:entitlement:admin — View an account's entitlement
    • account:read:trusted_domains:admin — View an account's trusted domains
    • Meeting
      • meeting:read:participant:admin — View a meeting's participant
      • meeting:read:participant:master — View a meeting's participant
    • Recording
      • cloud_recording:read:list_user_recordings:admin — Lists all cloud recordings for a user
    • Team Chat
      • app:channel_content:write:admin — Enable Chatbot within Zoom Team Chat Channel
      • imchat:bot — Enable Chatbot within Zoom Team Chat Client
      • team_chat:update:chat_control:admin — Update a chat control
      • team_chat:write:legal_hold_matter:admin — Add legal hold matter
      • team_chat:delete:legal_hold_matter:admin — Delete legal hold matter
      • team_chat:update:legal_hold_matter:admin — Update legal hold matter
      • team_chat:delete:file:admin — Delete a chat file
      • team_chat:write:migrate_dm_conversation_or_channel_operations:admin — Migrate DM conversation and channel operation
      • team_chat:write:migrate_chat_messages:admin — Migrate chat messages
      • team_chat:write:migrate_channel_members:admin — Migrate channel members
      • team_chat:write:migrate_a_chat_channel:admin — Migrate a chat channel
      • team_chat:write:migrate_chat_message_reactions:admin — Migrate chat message reactions
      • team_chat:write:contact_information:admin — Send contact invitation
      • team_chat:read:list_user_channels:admin — View a user's chat channels
      • team_chat:read:list_channels:admin — View chat channels
      • team_chat:read:channel:admin — View a chat channel
      • team_chat:read:user_channel:admin — View a user's chat channel
      • team_chat:read:list_members:admin — View a chat channel's members
      • team_chat:read:list_invitations:admin — List a user's pending invitations
      • team_chat:read:list_administrators:admin — View a chat channel's admins
      • team_chat:read:mention_group:admin — List all the mention groups in a channel
      • team_chat:read:list_channel_activity_logs:admin — Channel activity logs for specific channel
      • team_chat:read:list_user_sessions:admin — View a user's chat sessions
      • team_chat:read:list_user_messages:admin — View a user's chat messages
      • team_chat:read:user_message:admin — View a user's chat message
      • team_chat:read:thread_message:admin — Retrieve messages under a thread
      • team_chat:read:list_bookmarks:admin — List user's bookmarks
      • team_chat:delete:member:admin — Remove a chat channel's member
      • team_chat:delete:user_channel:admin — Delete a user's chat channel
      • team_chat:update:mention_group:admin — Update the mention group's information
      • team_chat:delete:channels:admin — Delete channels
      • team_chat:write:mention_group:admin — Create a mention group
      • team_chat:update:retention:admin — Update retention policy of a channel
      • team_chat:write:groups:admin — Add groups to a chat channel
      • team_chat:read:retention:admin — Get retention policy of a channel
      • team_chat:write:administrator:admin — Add administrators to a chat channel
      • team_chat:write:user_channel:admin — Create a chat channel for a user
      • team_chat:delete:channel:admin — Delete a chat channel
      • team_chat:write:members:admin — Add members to a chat channel
      • team_chat:delete:group:admin — Remove a chat channel's member group
      • team_chat:write:search_channels:admin — Search account's channels
      • team_chat:update:channel:admin — Update a chat channel
      • team_chat:delete:mention_group:admin — Delete a mention group
      • team_chat:update:user_channel:admin — Update a user's chat channel
      • team_chat:update:archive_channels:admin — Archive or unarchive channels
      • team_chat:read:list_groups:admin — View a chat channel's member groups
      • team_chat:delete:batch_members:admin — Remove a chat channel's members
      • team_chat:delete:batch_administrators:admin — Remove a chat channel's admins
      • team_chat:delete:user_message:admin — Delete a user's chat message
      • team_chat:write:user_message:admin — Create a chat message for a user
      • team_chat:write:message_files:admin — Add files to chat messages
      • team_chat:write:files:admin — Add files to chat
      • team_chat:update:user_message:admin — Update a user's chat message
      • team_chat:update:message_emoji:admin — Update a user's chat message emoji reaction
      • team_chat:update:message_status:admin — Update a user's chat message read status
      • team_chat:read:file:admin — Get chat file information
      • team_chat:read:migrated_channels:admin — Get migrated chat channels
      • team_chat:read:migrated_users:admin — Users can view migrated chat users
    • User
      • user:read:token:admin — View a user's token
      • user:read:list_assistants:admin — View a user's assistants
    • Users
      • user:read:list_users:admin — View users
      • user:read:user:admin — View a user
      • user:read:user:master — View a user
         
  13. After selecting the scopes, click Continue. The app is configured.

Amazon Web Services for API-DP

  1. Login to the Amazon Web Services (AWS) console.
  2. Navigate to IAM services and create an IAM user with an access key ID and secret access key.
  3. (Optional) Download the access keys CSV file and store for later use.
  4. Attach an inline permission policy document to the IAM user.
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "VisualEditor0",
            "Effect": "Allow",
            "Action": "sts:AssumeRole",
            "Resource": "arn:aws:iam::*:role/<Provider_name>_Role"
        }
    ]
}

Note: The provider name, account number, IAM user, and access keys will be needed during services deployment and should be coordinated with the Versa Managed Service team. 

Google Cloud Platform for API-DP

No configuration is required for Google Cloud Platform.

Microsoft Azure for API-DP

No configuration is required for Microsoft Azure.

Oracle Cloud Infrastructure for API-DP

No configuration is required for Oracle Cloud Infrastructure.

Supported Software Information

Release 12.2.2 and later support all content described in this article.

  • Was this article helpful?