Welcome to Portal

?Unknown\pull-down

Welcome to Zoho Cares

Bienvenido a Soporte de Zoho

Search our knowledge base, ask the community or submit a request.

FAQs: Developer Extensions

How can I subscribe to desk webhook?

You can subscribe to the desk webhook by providing the webhook details as per your requirements, in the resource.json file of corresponding extension. In that resource.json file, provide the Execution URL (i.e., URL copied from functions in the Extension Details page of Sigma) in the URL attribute as given in the example below. For more information, click here.

Example:
  1. "webhook": {

            "resourceName": "webhook1",

            "url": " /workspace/invokefunction?sigma_app_uuid=f1d6bf0e-1876-4aa7-b63d-be9a78e69587&sigma_function_uuid=3689c62f-c310-4ebd-a0c7-e9b276c6944e&sigma_function_version=0&sigma_app_version=&integ_scope_id=&app_install_id=&custom_response=true&auth_type=apikey&encapiKey= ", //execution URL

            "name": "Demo extension webhook",

            "description": "Demo extension webhook listen to ticket events",

            "subscriptions": {

              "Ticket_Add": null,

              "Ticket_Update": {

                "includePrevState": true

                },

              "Ticket_Thread_Add": null,

              "Ticket_Comment_Add": null,

              "Ticket_Comment_Update": null

           }

           "ignoreSourceId": "2df92c1a-973a-48f5-95b7-5792c68b9c36"

    },


How are triggers used?

Triggers are used to set off the functions associated with the extensions when any extension-specific event occurs.
 
The following are the extension-specific events:
    • extension_installed: Executes on extension installation
    • extension_uninstalled: Executes while uninstalling the extension
    • extension_on_run: Executes while running extension
    • extension_on_stop: Executes while terminating the extension
    • extension_disabled: Event executes when you disable the extension
    • extension_enabled: Event executes when you enable the extension
    • extension_updated: Executes while updating the extension
    • extension_upgraded: Executes while upgrading the extension

What is the use of version while associating functions to extensions? What does {LATEST} do?

Version is used to keep track of updates / enhancements in a function. If you select ${LATEST} while associating functions to extensions, you can use all the newest updates/enhancements that are available, eliminating the outdated features.


How can I develop and test the function?

To develop a function, follow the steps given below:
  1. Navigate to the Sigma website (https://sigma.zoho.com/workspace).
  2. Press the Functions menu on the left panel of the page.
  3. Click Add Function.
  4. In the Add Function page, enter the Function Name and Description.
  5. Click Create.
  6. Deluge Script Builder will be available, where you can code your functions easily by drag-and-drop method.
    Note: For any functions, while scripting the code in Deluge Script Builder, the return type should always be 'String'.
  1. Click Save.
    The created function will be listed in the Functions menu.
For more detailed steps, click here. 
 
To test a developed function, follow the steps given below:
  1. Go to the Functions tab in the Extension Details page.
    All the associated functions will be displayed as a list.
  2. Click on the corresponding function to be tested.
  3. The detailed view page of the function will be displayed. In that page, select Organization from drop-down list and click Add Arguments.
  4. Choose the Argument to be tested from the drop-down list and provide the corresponding value for the chosen argument.
  5. Click Save & Execute.
    The confirmation dialogue box will pop-up along with the data that is given as input in the arguments field.
For detailed steps, click here


How can I debug an issue in my functions?

You may encounter issues with functions like syntax errors and runtime errors.
 
To debug these errors in functions:
 
  • Update the code in the function's code editor, then click Save. Once you click Save, all the syntax errors will be highlighted.
  • If you have associated your functions with extensions, then update the code and click Save and Execute. All the runtime errors will be highlighted.


Can I use the same connections for widgets and functions?

Yes, you can use the same connections for widgets and functions by providing the connectionLinkName


Can I include the same functions in multiple extensions?

Yes, by associating the corresponding functions with a specific extension, you can include the same functions in multiple extensions.


How much time will it take to publish my Multi DC extensions?

It will take around 2-3 weeks to publish your multi DC extensions.


How should I use whiteListedDomains in Multi DC extension?




How can I load my website directly inside the widget in case of multi DC?

You can load your website directly by providing the website URL in the widget group of plugin manifest file. Then publish and install the corresponding extension in your desk.

Example:
  1. {

        "location": "desk.topband",

        "name": "Zoho Expense",

        "logo": "/app/img/logo.png",

        "icon": "/app/img/icon.png",

        "url": "https://expense.zoho.com/widget?from_source=desk",

        "other_dc_urls" : {

            "EU" : "https://expense.zoho.eu/widget?from_source=desk",

            "IN" : "https://expense.zoho.in/widget?from_source=desk",

            "AU" : "https://expense.zoho.com.au/widget?from_source=desk",

            "CN" : "https://expense.zoho.com.cn/widget?from_source=desk",

            "JP" : "https://expense.zoho.jp/widget?from_source=desk"

        }

    },

    {

        "location": "desk.ticket.detail.rightpanel",

        "name": "Zoho Sign",

        "logo": "/app/img/logo.png",

        "icon": "/app/img/icon.png",

        "url": "https://sign.zoho.com/signIntegrationsWidget?app=desk",

        "other_dc_urls" : {

            "EU" : "https://sign.zoho.eu/signIntegrationsWidget?app=desk",

            "IN" : "https://sign.zoho.in/signIntegrationsWidget?app=desk",

            "AU" : "https://sign.zoho.com.au/signIntegrationsWidget?app=desk",

            "CN" : "https://sign.zoho.com/signIntegrationsWidget?app=desk",

            "JP" : "https://sign.zoho.jp/signIntegrationsWidget?app=desk"

        }

    }


Should I do anything to make my extension visible across all DCs of Zoho Marketplace?

Once you publish your extension, a confirmation email will be triggered from the marketplace team asking whether you need world-wide support (i.e., all DCs support) for acknowledgement. Based on your acknowledgement, you can make your extension visible across all DCs of Zoho Marketplace.
 
For partnership users, an extension will be available for US DC only. Based on their request to the marketplace team, the extension will be made available for the remaining DCs too.


How can I handle multiple DC URLs inside my function?

You can handle multiple DC URLs inside your function by using extra keys such as service_domain and sigma_domain that we provide in the sigma function to get the respective domains dynamically.

Example:
  1. deskurl =  data.get("service_domain"); // desk.zoho.com
  2. sigmaurl =  data.get("sigma_domain"); // sigma.zoho.com


Why should I migrate to Sigma functions?

You cannot publish an extension and its associated functions in all DCs simultaneously with the Desk functions. So, it's important that you migrate because sigma functions support the Multi DC feature. Additionally, you can:
  • Fetch API domains specific to DC
  • Invoke API directly
  • Retrieve API response in single iteration
To know more about the migration process, click here.


We hope that this list of frequently asked questions about Developer Extension is informative. If you still have questions that haven't been addressed, please let us know. We will be happy to discuss them with our subject matter experts and add them in the future. And please don't forget to share your rating below!




Helpful?00
Updated: 10 months ago
Share :