Elevate Your Egnyte Expertise. Join our Customer Community to connect with a network of peers and share game-changing strategies. Join Today

Welcome to
Help Desk

Product Updates
Training
Support
Ideas Community Contact Support

Creating a Custom Application in Egnyte

Egnyte enables users to create custom apps to support tailored actions and workflows. The UI Integration Framework allows these apps to integrate with the Egnyte Web UI and expose custom actions. 

Skip Ahead To...

How to get started

Acessing the Custom Integration

Modify Custom App

How it works

Limitation

How to get started

An Admin can add their own app from the Apps & Integrations page. 

  1. Scroll to the bottom and click on Create in the Create custom app tile.
    Integrations_create your own custom application 3.png
    Integrations_create your own custom application 4.png
  2. Click on Select file  and select a manifest .json file.
    Integrations_create your own custom application 5.png 
    Here is a sample manifest file for testing:

    {
        "appId": "exampleuint",
        "name": "Example UI Integration",
        "company": {
            "name": "Partner Integrations team"
        },
        "support": {
            "web": "https://cc.sj-cdn.net"
        },
        "categories": [],
        "userSettings":
            "https://egnyte.egnyte.com/exampleuint/staticapp/settings.html",
        "appLogo":
            "https://egnyte.egnyte.com/exampleuint/staticapp/tool.png",
        "type": "egnyte_u",
        "industries": [],
        "description": "Example UI Integration for Custom Application.",
        "screenshots": {
            "images": [
                "https://cc.sj-cdn.net/instructor/253npnay2ssjj-egnyte/catalog_page/v14j0lmy0lzh/tile-image.1767722292.png",
                "https://cc.sj-cdn.net/instructor/253npnay2ssjj-egnyte/catalog_page/2ow7drugt1rov/tile-image.1767724053.png",
                "https://cc.sj-cdn.net/instructor/253npnay2ssjj-egnyte/catalog_page/v7swl4fjeky8/tile-image.1767728140.png"
            ]
        },
        "apiKey": "cabb83n7yqgy35qq8q44g65h",
        "integrations": {
            "myAllAction": {
                "entryPoint": "context_menu",
                "types": ["file", "folder"],
                "accessLevel": "selection",
                "serviceUrl":
                    "https://egnyte.egnyte.com/exampleuint/service",
                "selectionQuantity": "single",
                "invocationMethod": "post_to_tab",
                "icon":
                    "https://egnyte.egnyte.com/exampleuint/staticapp/tool.png",
                "text": "hello, I'm here",
                "scope": ["Egnyte.filesystem", "Egnyte.permission", "Egnyte.user", "Egnyte.launchwebsession"]
            },
            "myShareAction": {
                "entryPoint": "context_menu",
                "types": ["file", "folder"],
                "actionType": "share",
                "accessLevel": "selection",
                "serviceUrl":
                    "https://egnyte.egnyte.com/exampleuint/service",
                "selectionQuantity": "single",
                "invocationMethod": "post_to_tab",
                "icon":
                    "https://egnyte.egnyte.com/exampleuint/staticapp/tool.png",
                "text": "sharing is caring"
            },
            "myOpenAction": {
                "entryPoint": "context_menu",
                "types": ["file", "folder"],
                "actionType": "open",
                "accessLevel": "selection",
                "serviceUrl":
                    "https://egnyte.egnyte.com/exampleuint/service",
                "selectionQuantity": "single",
                "invocationMethod": "post_to_tab",
                "icon":
                    "https://egnyte.egnyte.com/exampleuint/staticapp/tool.png",
                "text": "choose me!"
            },
            "myEditAction": {
                "entryPoint": "context_menu",
                "allowedPaths": ["/Shared/*"],
                "types": ["file"],
                "accessLevel": "selection",
                "serviceUrl":
                    "https://egnyte.egnyte.com/exampleuint/service",
                "extensions": ["png", "jpg"],
                "permissionLevels": ["Owner", "full"],
                "selectionQuantity": "single",
                "invocationMethod": "post_to_tab",
                "icon":
                    "https://egnyte.egnyte.com/exampleuint/staticapp/tool.png",
                "text": "edit a single image (custom icon)"
            },
            "myEditActionFAIcon": {
                "entryPoint": "context_menu",
                "allowedPaths": ["/Shared/*"],
                "types": ["file"],
                "accessLevel": "selection",
                "serviceUrl":
                    "https://egnyte.egnyte.com/exampleuint/service",
                "extensions": ["png", "jpg"],
                "permissionLevels": ["Owner", "full"],
                "selectionQuantity": "single",
                "invocationMethod": "post_to_tab",
                "icon": "plus-circle",
                "text": "edit a single image (fontawesome icon)"
            },
            "myViewAction": {
                "entryPoint": "context_menu",
                "serviceUrl":
                    "https://egnyte.egnyte.com/exampleuint/service",
                "types": ["file", "folder"],
                "selectionQuantity": [2, 5],
                "invocationMethod": "post_to_tab",
                "text": "open multiple items",
                "icon":
                    "https://egnyte.egnyte.com/exampleuint/staticapp/tool.png",
                "tooltip": "hello, I'm a tooltip"
            },
            "myMoreAction": {
                "entryPoint": "more_menu",
                "serviceUrl":
                    "https://egnyte.egnyte.com/exampleuint/service",
                "types": ["folder"],
                "selectionQuantity": "single",
                "invocationMethod": "post_to_tab",
                "text": "perform a folder action from more menu",
                "icon":
                    "https://egnyte.egnyte.com/exampleuint/staticapp/tool.png",
                "tooltip": "hello, I'm a tooltip"
            },
            "myNewAction": {
                "entryPoint": "new_menu",
                "serviceUrl":
                    "https://egnyte.egnyte.com/exampleuint/service",
                "types": ["folder"],
                "invocationMethod": "post_to_tab",
                "text": "perform a folder action from new menu",
                "icon":
                    "https://egnyte.egnyte.com/exampleuint/staticapp/tool.png",
                "tooltip": "hello, I'm a tooltip"
            }
        }
    }
  3. Click on Create.
    Integrations_create your own custom application 6.png
  4. App manifest will be successfully added. Click on Enable Integration to enable the integration.
    Integrations_create your own custom application 7.png
  5. Select the desired option and click on Save.
    Integrations_create your own custom application 8.png
    The application settings will be updated accordingly and the user will be notified. 
    Integrations_create your own custom application 9.png
    Once the Custom Application is loaded it will show in the Apps & Integrations page with a Custom Banner.
    Integrations_create your own custom application 10.png

Back to Top...

Acessing the Custom Integration

Users can access these integrations from the context menu or from the three-dots icon -> Integrations in the top menu bar.

Integrations_create your own custom application 2.png

Integrations_create your own custom application 1.png

Back to Top...

Modify Custom App

Editing Custom App

  1. Admins can re-upload a new manifest file if needed by clicking the Custom App Configuration button inside of the Application.
    Integrations_create your own custom application 11.png
  2. Click on Select File and select a new file. Click on confirm to make changes to the app configuration.
    Integrations_create your own custom application 12.png

Deleting Custom App

  1. Click on the Delete App option within the app configuration.
    Integrations_create your own custom application 13.png

  2. Click on Delete to confirm. 
    Integrations_create your own custom application 14.png
    The user will be notified of the deletion.
    Integrations_create your own custom application 15.png

Back to Top...

How it works

Basic Concepts

App definition: A json file with metadata about the app necessary to register a Custom Application. 

Invocation:  The process of calling the custom app from Egnyte UI.

Invocation's access token: The token sent with the invocation is scoped to allow access to the FS API, Users API, and Permissions API. A different scope can be requested by specifying it in the API definition. See the App Definition documentation for details.

Public API Key:  This is a key that can be registered for a Egnyte domain from developers.egnyte.com

UI Integration Framework: This is the framework that allows Custom Applications to be shown in the Egnyte UI.

Detailed Documentation

  • UI Invocation flow
  • App definition docs
  • For the app definition, only the integrations field needs to be entered manually; all other fields are provided separately in the App Definition form.
  • User and domain Settings - Settings are available if needed; however, it is recommended to design UI integrations without a dedicated settings screen and instead prompt for settings during the first invocation.
  • API Keys can be found in developers.egnyte.com

Back to Top...

Limitation

  • Admins can create up to 5 custom applications. They will get an error message if the limit is reached.
    Integrations_create your own custom application 16.png

Back to Top...

Was this article helpful?
0 out of 2 found this helpful

For technical assistance, please contact us.