Integrating applications with Zoho Projects through Connections | Community | Zoho Projects

Integrating applications with Zoho Projects through Connections | Community | Zoho Projects

In our last post, we discussed the essential features that a Zoho Projects extension can provide. Starting with this post andin every subsequent post going forward, we'll go through each of those features in depth, one by one, with an example use case.
In this post, we'll explore the Connections feature in detail.

Connections: When and why?

Creating a tightly coupled integration requires the establishment of a secure connection between applications. To achieve this secured connection, the Sigma platform provides the Connection feature that can be used to establish a secure link and perform data operations across applications seamlessly and efficiently through an extension.

Use case

Working on development-related tasks might require dealing with a variety of files, such as code snippets, help documents, or service level agreements. While several file management applications are available to securely store and organize data, manually handling file storage between applications remains challenging.

For our example, let's use Zoho Projects to manage all tasks, and Dropbox to manage and store data.

What is the difficulty faced?

Dropbox offers a file request feature that allows you to collect files and organize them into folders. However, as we talked about in our previous post, manually categorizing and uploading task-related files to their respective file request folders in Dropbox would be a time-consuming and laborious activity. Instead, it would be more efficient to integrate Dropbox with Zoho Projects so that uploading task files to Dropbox file request folders can be done instantly from within Zoho Projects.


How can it be sorted?

You can create a connection between Zoho Projects and Dropbox. With the secure connection setup, the file request folders available in Dropbox can be listed on the task details page of Zoho Projects through an extension. You may then easily upload files from Zoho Projects to their corresponding folders in Dropbox, saving time and making you more organized.

What are the components required to achieve this use case?

  1. A connection between Zoho Projects and Dropbox.
  2. An extension configuration that includes:
  • Creating an extension
  • Configuring the plugin manifest
  • Setting up the widget code to display the Dropbox file request folders inside the Zoho Projects task details page.
Now, let's see how we can achieve each of these components.

1. Creating a secure connection using the Connection feature

  • Log in or sign up into developer.zoho.com.
  • Go to Sigma and access your workspace.
  • Once you enter your workspace, select the Connections section in Sigma.
Note: Connections created in Zoho Projects are also accessible within the Connections section in Sigma. These connections can be used in extensions to connect with other applications.

  • Choose the service as Zoho Projects and select your Zoho Projects organization. Click on Create Connection.

  • Sigma offers a list of default services from which you can choose and easily connect with Zoho Projects. If the application you want to integrate isn’t in the default list, you can add and build a connection with it using the custom services option.
Note: If you’re looking to connect Zoho Projects with another Zoho Product that also follows the OneAuth authentication mechanism, select the service Zoho OneAuth from the Default Services list to create the connection.

  • In our example, the application to connect with Zoho Projects is Dropbox, and because it’s in the Default Services list, go ahead and choose Dropbox.

  • After choosing the service, enter the connection name. A connection link name will be populated automatically.
  • Toggle Use credentials of login user to Yes if you want every user installing the extension to access the connection using their own login credentials, or No if admin credentials are enough to access the connection.
  • In our example, we'll proceed with the former. So toggle to Yes, and then click Create and connect.
Note: For services in which the option to choose the scopes is displayed, choose the necessary scopes, and then click Create and connect.

  • You’ll be directed through a series of authorization steps before being prompted to connect with Dropbox by entering your login information.
  • The connection will be established successfully once you sign in with Dropbox, and you will be redirected to the Connection Summary details page in Sigma.
  • To access this connection as part of an extension, you’ll need to configure the sample code provided under the JSON section in the plugin-manifest.json file. We’ll explore this in the next section.

2. Extension configuration

Now that we've successfully established our connection, let's look at how we can achieve our use case feature of displaying the Dropbox file request folder within the Zoho Projects task detail page. As mentioned earlier, to accomplish this, we’ll need to implement the following measures.
A. Create an extension

B. Configure the plugin-manifest.json file

C. Set up the widget code
Let's explore these steps in order.

A. Create an extension
B. Configure the plugin-manifest.json file
  • As previously stated, to access the connection established between Zoho Projects and Dropbox, the connection must first be configured in the plugin-manifest.json file.
  • Copy the JSON sample code from the Connection Summary Details page and paste it into the plugin-manifest.jsonfile as the value for the connections key.

  • You will also need to white list the Dropbox domain for Dropbox calls to be processed without being blocked.
  • Include the domain in the plugin-mainfest.json file as the value for the whiteLitsedDomains key.

  • As we saw in our earlier post, the plugin-manifest.json file includes a widget called Projects Extension by default. For our example, because we’re connecting with Dropbox and constructing a widget that will include Dropbox request folders to upload files, enter the widget name and location.

  • The final configured plugin-manifest.json file for our example would be as follows:
  1. {
  2. "connectors": [{
  3. "connectionLinkName": "dropbox",
  4. "userAccess": true,
  5. "sharedBy": "xxxxxxx",
  6. "connectionName": "dropbox",
  7. "serviceName": "dropbox",
  8. "isUserDefinedService": false
  9. }],
  10. "whiteListedDomains": ["https://api.dropboxapi.com"],
  11. "service": "PROJECTS",
  12. "cspDomains": {
  13. "connect-src": []
  14. },
  15. "storage": true,
  16. "locale": ["en"],
  17. "config": [],
  18. "modules": {
  19. "widgets": [{
  20. "name": "Dropbox - File Upload",
  21. "location": "taskdetails_rightpanel",
  22. "url": "/app/dropbox.html"
  23. }],
  24. "triggers": []
  25. }
  26. }

C. Setting up the widget code

Now, that we’ve created an extension and configured the plugin manifest file, let's finally set up the widget code in order to display all Dropbox file request folders inside our task details right panel.

Dropbox.html widget code: Please find the widget code snippet as an attachment in this post.
  • In this widget code, we’ve invoked the Dropbox API to list file request folders by constructing and passing the required data along with the connection we had established for Dropbox.
  • The API will be invoked and return all of the file request folders in the task details right panel, from which users can click on the link and directly upload files to Dropbox from within a task in Zoho Projects itself.
Sample output
  • Once the code is setup, publish and install the extension to check the functionality in the Zoho Projects portal.
  • Enter a task and click the extensions icon in the right panel.

  • From the lists of your Dropbox file requests, select the requests to which you wish to upload files.

  • The file will be successfully uploaded in the respective Dropbox file request.


We’ve demonstrated how to upload files directly to Dropbox file request folders from within Zoho Projects in this example. As part of your extension, you can use the Connections feature to do a variety of tasks, some of which are highlighted below.
  • View and update files associated with a certain request.
  • Create Dropbox folders and share them with collaborators.

Connections, therefore serves as a powerful tool that assists you in establishing a connection with other apps and performing smooth data transactions across your applications, thereby improving business functions and optimizing your work.

We hope this information was useful to you. Continue to follow us for further updates!

Sign up for a Zoho Developer account and start developing extensions for Zoho products using Sigma.

SEE ALSO


      • Recent Topics

      • Digital publisher

        Kinetic Digital Publisher provides comprehensive digital publishing services, including eBook creation, formatting, cover design, and marketing. We help authors publish and promote their work across online platforms with ease.
      • Time Zone Correction with Daylight Savings Time

        Hey, I'm writing a series of reports where the source data is synced from an external source which stores the date/time information in GMT, but I want the reports to be in local time. Now, I understand there is the CONVERT_TZ function which allows me
      • Load form in iframe without header

        I am trying to load a form into an iframe without the header, but I am not having any luck. I am using openUrl() to load the iframe with the form URL and zc_Header set to false, e.g. #Form:Add_Case?zc_Header=false but it is still loading the header. Any
      • Filter embedded report

        How to filter embedded report in a page, below code is not working. dateField => startDate & dateField=< endDate The report should print on page containing records from startDate to endDate. params='zc_Header=true&amp;Service_Date__gte=<%=startDate%>&amp;Service_Date__lte=<%=endDate%>'
      • Creator Simplified #5: Set file upload restrictions in Zoho Creator

        Hey Creators, Welcome to the next post in the Creator Simplified series. Today, we’ll explore how to implement file upload restrictions to limit user submissions to specific file types. By implementing an allowed list for file uploads, you can optimize
      • Field Type: Address, Change District/State to Dropdown with picklist??

        Using the Address Field type, is there a way to make the District/State field be a dropdown with a picklist so the users can select rather than type the state name every time? I know this can be done if I use a drowdown field for the State (or entire address information), but that isn't as tidy as using the address field type. I apologize if this is a duplicate. I posted this question the other day, or so I though. Can't find that post.
      • cutomized fields are not showing up in zoho creator from zoho crm

        We have customized fields in zoho crm under accounts module like "Last production upgrade" --> This field is a date. When created a solution in zoho creator i couldn't find any of the customized fields. Would you please help me on this matter? Thanks
      • How to Add Bulk Data in Zoho Creator Forms Using Deluge Without Exceeding Execution Time Limit

        I have a database form with a column named 'Product Name' containing 8000 values in a Zoho Creator form. In another form named 'Returns Data,' I have a column with the same name, 'Product Name.' How do I add these 8000 values to the 'Returns Data' form
      • Open New Free Zoho Account

        Hi Team, Do you guys offer a free email hosting? I do have a domain already. If yes, what is the process to open the new account? Thanks,
      • 554 5.7.1 : Recipient address rejected: user info@intimspace.de does not exist

        554 5.7.1 : Адрес получателя отклонен: пользователь info@intimspace.de не существует I can't send an email to Google at info@intimspace.de. An error comes. I entered everything correctly in DNS https://zohomail.tools/#domainDetails/intimspace.de/ALL
      • Emails going back unread

        Hi all, When in Zoho mail - when I recieve a new mail it puts back all emails read that day back to unread - I then have to go back through and open all emails I have already read! Gets very annoying... Any idea on the bug fix?
      • Been getting this error, every now and then "Get count limit exceeded, please try again after 3 mins"

        it is really annoying.
      • Constraints on Tasks

        We have a use case where we have certain fixed date tasks and need to schedule predecessor tasks around these. Predecessor tasks need to be completed with a lag before the fixed date. We should be able to schedule the start and end date for predecessor
      • Moving Project Dependencies Not Moving Precedessors

        Most of the time we want to base our start dates around an event that is in the middle of the project template. If I set a bar up at the date we want it, it doesn't move the predecessors up. Is there a way to change this? eg. there is no point starting
      • Can you set task due dates to be "x" days before the milestone?

        We have a milestone set as the date of our first event. All of the tasks need to happen in increments prior to the milestone event. Is there a way to configure this without having to set up each task due date? Thanks!
      • Default ticket template in helpcenter

        Hello, I have a web form and a ticket template created. How can I make that my default ticket template? If an user clicks New ticket or create a ticket, I want that template to be the default one. Thank you for the time and info.
      • Expanded data-capturing capabilities with enhanced tabular sections

        We are thrilled to announce an update to Zoho Recruit that brings even more flexibility and customization to your recruiting process. With the addition of 10 new field types to the tabular sections, you now have the power to enhance your tabular sections
      • Integration of Business Hours in Email Templates

        Dear Zoho Desk Team, We would like to propose a feature enhancement to Zoho Desk that would greatly improve the utility of the Business Hours settings and streamline communication with our clients. Feature Request: Integration of Business Hours in Email
      • Add Owner to deluge-created module record note

        Is it possible to include the "owner" aka "creator", of a Note when creating it via delulge? This sets "superadmin" as the Note creator. I need to override it. notemap = Map(); notemap.put("Parent_Id",program_contact_id); notemap.put("Note_Content",program_contact_data.get('Note'));
      • Blueprint - Field Validation Criteria (During)

        When setting validation criteria elsewhere in Zoho, or even workflow criteria etc., there are Is Empty and Isn't Empty options.  Within the Field Validation Criteria within Blueprint, those options aren't available.  Is there a particular reason for this? 
      • Delete Field that is used in a Zoho Flow connection

        I'm trying to delete a Field used in a Webhook created by Zoho Flow with CRM Connection and i get the following alert: When going to the alert i get to the following issue, can't edit it since its been deployed by a pluggin But yes i have here the prompted
      • Use image on img HTML tag

        Hi how could I do to use my image saved in Workdrive to use it in an HTML img tag ? I need to display it on my website without having to use iframes. Regards,
      • ZOHO Compain emails going to spam after authentication is successful

        Hello, I am frustrated right now. I have recently setup the zoho email compaign, The auto responder email went to receipient spam folder. then, I researched a lot and completed authentication (SPF, DKIM) in email deliverability, email relay in zoho crm.
      • Security Policies

        To protect against cyber threats and attacks, organizations need to set up security policies for their employees' accounts. Security policies are rules and regulations for every individual or group using the organization's assets and resources. Enabling
      • Zoho CRM functions editor is not in the programming language deluge

        I am trying to write a function for a button. I helped someone before in deluge and I'm using this new editor I'm not familiar with - I guess it is new. Why is the default code statically typed? The editor will not let me create a variable without a type.
      • "Age in Days" calculation in Advanced Analytics

        Hi Can someone advise how this is calculated? I am getting values on this report which I cannot understand. Thank you
      • Automatically set quotes to "lost" if deal is set to lost

        Hi, Is there a way to automate that if a deal (opportunity) is lost the related quotes are also set to lost? Thanks!
      • Subdomain

        How can i make subdomain in my zoho website
      • A/R Aging Details shows wrong aging days

        In the A/R Summary Report all of the invoices are in the right aging buckets. When I run the A/R Aging Details report I get aged dates of +300 days when they should be in the 0-90 day range.
      • Global Choice List share ownership

        I have created several forms that use one or more Global Choice Lists. These lists have been published to Org. I would like to allow one or more admins to edit the choices in these lists. Any help appreciated. Geoff
      • Domain Transfer

        I have a Godaddy domain, how i can transfer it to Zoha? and how i can move my website to Zoho server? With my best wishes.
      • Project Templates & Reminders

        I am getting projects all set up to work for our company and am running into a problem that I'm hoping is easily fixable. I have created a project template and within that project, there are reminders set on certain tasks. When I create a project from
      • Kaizen #126 - Circuits in Zoho CRM - Part 1

        Hello everyone! Welcome back to another week of Kaizen! Today, we will discuss an exciting topic—Circuits in Zoho CRM. For starters, we will discuss what Circuits are, how beneficial they are for businesses, different views of a Circuit, and the different
      • Create customized SLAs for your customer base with support plans

        Managing customer expectations, prioritizing critical issues, and resolving customer inquiries on time is quite a juggle. Without a clear timelines or defined priorities, a support team may struggle with delays in response, SLA violations, and pending
      • Zoho Flow or Schedules

        I have a process where we text our leads 7 times over a 14 day with different content for each text. I created one flow in Zoho Flow to do this, but wondering if there is a more efficient way to accomplish this via Schedules. It goes on for 6 more times
      • Free webinar: Zoho Sign 2024 wrap-up - Everything that is new and has changed

        Hello, Are you looking up to catch up on all the updates made to Zoho Sign in 2024? Or are you still figuring out how you can use Zoho Sign better to get business paperwork done more efficiently? If so, we invite you to join us this Thursday, December
      • How to Customize Task Creation to Send a Custom Alert Using JavaScript in Zoho CRM?

        Hello Zoho CRM Community, I’m looking to customize Zoho CRM to send a custom alert whenever a task is created. I understand that Zoho CRM supports client scripts using JavaScript, and I would like to leverage this feature to implement the alert functionality.
      • Workflow - Execute Based on Date

        Hello, I have trouble understanding the documentation for Execute Based on Date or Date Time Field's Value. I want to send an email every time I have a Case opened for more than three days with its status unchanged. I set : This rule will be executed 3 days after [date].  Condition : Status is [New]. Instant Action : Send an email notification. However, I'm not sure I follow this part of the documentation: "For all the records matching the rule criteria, rule will be triggered either monthly or yearly
      • Can we set a BCC address as default to show while sending emails?

        Two things inside ZohoCRM are annoying me because it's a repeated work. First one is that I always need to click manually to add the BCC field while sending an email to a lead. Can we set a default address so when I click to send a new email the BCC address
      • Make collecting payments from your customers in Bigin easier with payment links

        Greetings, Efficient payment collection is crucial for business success. Bigin already helps your businesses manage and sell products effectively, but we can further enhance this by making payment collection easier. This integrated payment feature lets
      • Next Page