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?
- A connection between Zoho Projects and Dropbox.
- 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:
- {
- "connectors": [{
- "connectionLinkName": "dropbox",
- "userAccess": true,
- "sharedBy": "xxxxxxx",
- "connectionName": "dropbox",
- "serviceName": "dropbox",
- "isUserDefinedService": false
- }],
- "whiteListedDomains": ["https://api.dropboxapi.com"],
- "service": "PROJECTS",
- "cspDomains": {
- "connect-src": []
- },
- "storage": true,
- "locale": ["en"],
- "config": [],
- "modules": {
- "widgets": [{
- "name": "Dropbox - File Upload",
- "location": "taskdetails_rightpanel",
- "url": "/app/dropbox.html"
- }],
- "triggers": []
- }
- }
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
Blueprint - 'On hold' state with an automatic transition?
I think I'm missing something here so I'm hoping if I explain what I'm trying to achieve someone might be able to give me a way around it. We sometimes get request far in advance but we don't want to action them unless it is 7 days from when they are
HOW TO VIEW INDIVIDUAL COST OF NEWLY PURCHASED GOODS AFTER ALLOCATING LANDED COSTS
Hello, I have been able to allocate landed costs to the purchase cost of the new products. however, what i need to see now is the actual cost price (original cost plus landed cost), of only my newly purchased products to enable me set a selling price
Client Script: $Client.refresh({ triggerOnLoad: true }); not triggering onLoad Client Scripts
Hey friends! I'm trying to store a temporary var, refresh the page for the user, then check that temporary var and do some actions. Theoretically using the title's code: $Client.refresh({ triggerOnLoad: true }); should refresh the page and trigger on
Calculate months and years between 2 dates on subform
I am looking for a function syntax for an employment candidate to calculate the number of years and months (decimal format. eg 1.2 years) they are employed. I have their start date entered, but if the end date is blank, that tells me they are still employed
Combine related grouping values into categories in CRM analytical components
Hello everyone, Analyzing large datasets can be challenging when dealing with numerous individual data points. It's often difficult to extract meaningful insights when information is scattered and ungrouped. To address this, we're adding options to create
How Kiosk Studio can simplify sales for bank employees | Kiosk Studio Session #4
Hello everyone, Banks can boost revenue by cross-selling to their current customers. For example, they can sell credit cards, personal loans, and more to existing account holders. To do this, bank employees move all around the CRM, open and close records,
Tip #19 - Create checkbox tracker in your spreadsheet
Hello Sheet users! We are here with yet another tip to help you get the most out of Zoho Sheet. Spreadsheets can be used to handle a variety of tasks, but ever tried using checkboxes to track the progress of your action items dynamically? Here's a sample
Integrate Oracle with ZOHO CRM
Please let me know if its possible to Integrate Oracle with ZOHO CRM. If yes then help me in doing it.
UUIDs
Has anyone coded a Universal Unique Identifier (UUID) generator in Deluge?
Introducing signer groups: Streamline signature collection and make it even faster
Hello everyone, We're excited to introduce signer groups, a feature designed to make your signing process quicker, more efficient, and collaborative. With signer groups, you can send an envelope to a group of people, and any member of the group can open
Calendar - Recurring Event - End of Month and Last Weekday of Month
How do I set a calendar event to recur on the last day of every month? How do I set a calendar event to recur on the last weekday of the month?
Duplicate Zoho Invoices and Sales Receipts
We have been running into an issue where upon saving an invoice or a sales receipt, we get a duplicate: same information saved twice but with a different invoice id/number and sales receipt id/number. I have logged a ticket but so far no response. It
Introducing revamped Zoho Creator Developer Console—a powerful platform for developing and distributing apps
Hello everyone! We're thrilled to announce the launch of the revamped Zoho Creator Developer Console—a dedicated platform designed specifically for Creator developers and Partners to build, test, and distribute apps to your clients. Developer Console
Phone App of CRM doesn't find contacts
I open the crm to and do a contact search but nothing comes up. If I do a full zia search it will find an old note that is attached to a contact and I can open the contact. BUT I still can't enter notes of calls, set appointments, etc. It requests I go
[Product Update] Deprecation of 'Inbound Transport Details' module in Zoho Analytics - Amazon Seller Central integration
Dear Customers, Please be informed that the Amazon Seller Central will be deprecating the 'Inbound Transport Details' module APIs effective December 20, 2024. As a result, this module will no longer be supported in the Amazon Seller Central - Zoho Analytics
Is there any support for Drivers license and other forms of ID scanning capabilities?
When scanning a drivers license barcode for data input to a Form, the scanning tool receives all the raw data but there doesnt seem to be a function to limit or remove the unnecessary fragmrnts, like a prefix. Is there any support or info in the help
Exciting Update: Multi WhatsApp Business Account (WABA) Support Now Available in SalesIQ!
We’re pleased to share an important update that will enhance the way you manage your WhatsApp Business accounts (WABAs) within SalesIQ. With the launch of Multi WABA support, you can now connect and manage multiple brands more effectively, each under
Gravity Forms plugin not passing some fields
I use the gravity form zoho plugin to push data from my lead form into my lead page in Zoho CRM. Everything was working file for about 6 months. Suddenly on Oct 1st, some of the fields are no longer getting passed to Zoho. The fields with the problem
Can't delete bank transactions (i changed from 14 days trail to free just now)
Hi, I manually added one bank transaction When i try to delete it, it say below: What should I do?
Feature Request: Search in the PC client. Some thoughts about the search.
Hi all. I'm really excited to start using Zoho Notebook, but I'm missing some of the search capabilities on my desktop. There are also some thoughts on improving search in general. Search is very important to me, without it it is difficult for me to use
Leave Policy for Brazil
Hi, Brazil asked us to configure Zoho People to apply the following policy: · To block starting vacations 2 business days before holidays or weekends; Employees cannot start their vacations 2 days before holidays or weekends. Example: If December 25th
Adding date field to each individual Items when creating Invoices?
When adding items into an invoice I need to be able to have a date for each item. Example below: Date Item Description Qty Rate Discount(%) Tax Amount 31/07/13 Brown Sugar Performance 1.00 3,000.00 0.00 10% $3300 Is this possible or will it be in the
Auto-Create OneDrive Folder Structure Upon Lead Creation
Hello, New to Zoho and looking for help on a critical process automation I'm looking to implement. My company currently utilizes OneDrive for file management and the folder structure is Proposals -> Client Name -> Address (where I need to initially create
Profile Page View Customization
I need to change the fields, sections from the profile view of an emplyoyee.
What do the Image Sizes mean in Zoho CRM Email Templates?
Below you can see the image options in email templates: Banner, Fit, Small, Medium, Original, Custom. Can someone from Zoho please share with me: What each is/means? How each will look on desktop AND mobile? How to edit "custom"? If I choose "Custom"
Translate any published presentation to the language of your choice
As part of our constant effort to enrich your presentation experience, Zoho Show has rolled out a new feature for translating published presentations. Consider the following scenario: Zylker IT services, a multinational corporation, has announced product
Blueprint: multi-select lookup field not available in the criteria option
I read this old forum post which stated that multi-select lookup fields are now selectable as an option in a Blueprint transition configuration: https://help.zoho.com/portal/en/community/topic/blueprint-multi-select-lookup-field-not-available-within-blueprint-transition
Apply Credit Note Automatically
We need the ability to apply open Credit Notes toward invoices generated by recurring invoice as the first, priority payment. This should be an option that we can enable/disable in the recurring profile and/or the Credit Note. Other invoicing systems can do this. I'm not sure why Zoho Invoice doesn't have it. Here's an example for a Recurring Invoice... If a customer has open Credit Notes, and a saved credit card set for auto-pay, once an invoice goes out, the credit balance gets automatically applied
Workflow for "Expenses" module?
Hi there, over the last 2 years, Zoho Expense has seen tremendous growth and we are happy with it. But, sometimes it is frustrating to see things are being implemented halfheartedly, or so it seems. For example, There is the possibility to create workflows
Record Template - Conditionally printing sections
Is there a way to conditionally print a section of a Record Template? More specifically I am printing records from a Form "Invoice". That Form has 3 SubForms. I'd like to print the content of those SubForms using a Record Template but only if they have at least one line item. If they have no line items, I'd like to hide the headers for that section on the printout.
User can choose the PDF report
Hi. I would like to find out if a user (Creator or customer portal) to choose from the different PDF customised reports that have been built?
Query table pull last 12 months
I am tying to pull the following criteria and the date is always what causes me the issue. I want to pull people (pco_id) who have entries of "event_id" being these 2 events and whos "kind" is Regular or Guest and where the event_starts_at (date column)
PLEASE FIX Search options and consider a Global seach option
A recent update has removed the ability to search for addresses and phone numbers under contacts. We cannot find where this moved to (If it is still available). Please put these options back as we cannot locate specific projects anymore. Also please consider allowing for a Global search. This would really improve the search engine. For example: If I search for "Sally Jones" then all invoices , estimates, vendors etc.. would populate.. Please let me know if you need any more information. Thank You....
Customize your calendar based on personal preferences
Greetings, We're happy to introduce a few new capabilities to the Activities module's Calendar View! Now you can tailor your calendar's appearance and notification settings to suit your needs. In the past, the Calendar View lacked customization options
BUG ALERT: Client Script + Commands -> $Page contextual data is not updated
When using the new Client Script Commands feature, there is an issue with the Client Script $Page contextual data not accurately being updated each time a Command is run. Assuming a Client Script Command called "Client Script Command Bug" with the following
Show iFrame of related List inside of Blueprint Transition
Hey, is it possible to show an iFrame of a related list like this inside of a Blueprint transition?
Lookup Fields not Converting
I manage holiday properties. I have a lookup to the Accounts (Properties) in the Leads module. The lookup is connected to the property address field. When I convert it the lookup field does not update in Deals, although the property address does. There
2024: A Year of Transformation with Zoho Forms
As we close the curtain on another exciting year, it’s time to reflect on the strides Zoho Forms has taken in 2024. From empowering businesses with advanced tools to simplifying workflows and enhancing user experiences, our updates this year were all
Stop selling out of stock Items.
Hi I have been using Zohobooks for a around 8 month now. I am not involved in selling process but my staff cant stop selling product which they do not hold in stock, this is a big headache for me as physical count never matches what is shown on the books.
Bigin API Token Request ("invalid_client")
Hi people, I tried to connect to the API without success, I've read all of the documentation multiple time and tried just about everything. I tried to do it with Python Request module and with Postman, passing the information through both the URL parameter
Next Page