Creating and configuring custom service connections in Bigin Toppings

Creating and configuring custom service connections in Bigin Toppings

Hello Biginners,

Integrating Bigin with external applications extends its capabilities and enables customized functionalities. In our last post, we saw how to create a default service connection. Today, we'll see how to create a custom service connection when the application you need to integrate with isn't listed in the default services.

Consider a scenario where a team uses Bigin to manage its tasks and handles project tracking and collaboration in Trello. Keeping both the applications synchronized can be a challenging task and often requires manual data entry, which increases the risk of errors. To solve this challenge, we can create a Bigin topping with a custom service connection established with the Trello application. Using this custom service connection, we can automate the process by creating a new card inside Trello each time a new task is created in Bigin.

Let's learn how to do this.

Setting up the topping

A topping needs to be created using the Bigin Developer Center; for detailed instructions on creating a topping, refer to this post.

Once you've created the topping and accessed the Bigin Developer Console, the next steps are creating the custom service connection and configuring the topping's functionality.
  1. Navigate to the Connections section in the left panel and click the Get Started button.
  1. Under the Services section, select Custom Services, then click Create Service.
  1. Fill in the required details for the custom service in the configuration screen.
  1. Enter a name for the custom service connection under Service Name; this will automatically generate the service link name.
  2. Select the appropriate authentication type supported by the third-party application from the available options: API key, Basic Authentication, OAuth 1, OAuth 2, or AWS signature.
Notes
Note:

Refer to the official API documentation of the third-party application to determine the authentication type.
  1. Each authentication type has its own set of parameters to ensure secure integration with the third-party app. For detailed instructions on configuring each authentication type and field, refer to this guide.
  2. For integrating with Trello, we'll choose API Key, which is the authentication type supported by the Trello app. For more information on getting your API key and token, refer to the Trello API documentation. Trello requires an API key and token to authenticate with another app. They have to be configured as query parameters, so set the parameter type to Query String.
  3. In the Parameter Key fields, enter the key and token, and set their corresponding Parameter Display Names to Trello API Key and Trello Token respectively.
Notes
Note:

Providing both the key and token is essential because Trello requires these two credentials for secure API access.
The key is the unique identifier for your application, and the token is a user-specific credential that authorizes our application to access and modify Trello data.
  1. Once all the required parameters are configured, click Create Service.

After successfully creating the custom service, the next step is to establish the connection with the Trello service by clicking the Create Connection button.

  1. On the following screen, provide a connection name for your Trello integration; this name will automatically generate the Connection Link Name.
  2. Once you've entered the necessary details, click the Create And Connect button to start the connection process.
  1. You'll be prompted to authenticate your Trello account using the API key and token you got from the Trello API documentation.
  2. After entering these credentials, click Connect to authenticate and integrate your Trello account with the custom service you have created.
  1. Once the connection is established, you'll be redirected back to the Bigin Developer Console. Here, you can view the details of your custom service connection, including the connection link name, confirming that the integration with Trello is active and ready for use.

This connection link name serves as a unique identifier for your integration and will be referenced in the Deluge code.

You'll also need to create a default service connection with Bigin with the scope ZohoBigin.modules.tasks.ALL to access Task details from your Bigin account.



The next step is to set up a workflow rule to automate the card creation process. This workflow will trigger whenever a new task is created in Bigin to create a corresponding card in Trello. To do this, a custom function needs to be associated with the workflow.

To configure the workflow, navigate to the Automate section in the left panel of the Bigin Developer Console and select Workflow. Create a new workflow rule within the Tasks module, setting the trigger to activate whenever a new task is created in Bigin. For the trigger condition, choose to apply the workflow to All tasks to ensure every new task initiates the automation.

Next, associate the workflow rule with a function by selecting the Function option from the Instant Actions menu.


After providing the required function details, you'll be redirected to the Deluge editor, where you can implement the logic for creating a new Trello Card.



In the Deluge code:
  1. Retrieve the details of the newly created task from Bigin using its Task ID.
  2. Extract relevant task data such as the subject (used as the task name) and description.
  3. Identify the target Trello board and the specific list where the card should be created.
  4. Fetch all lists from the Trello board and locate the list ID that matches the desired list name. For our use case, we'll be creating the task as a card in the Trello list named "Today" so that the task created on that specific day will fall under the Today list. Later, it can be moved across other lists in Trello as its status updates.
  5. Prepare the card details using the extracted task information and the identified list ID.
  6. Create a new card in Trello using the prepared details.
The code below implements the logic for automatically creating a Trello card whenever a new task is created in Bigin.
  1. // Step 1: Get task details from Bigin
  2. taskDetails = zoho.bigin.getRecordById("Tasks",task.get("Tasks.ID"),Map(),"biginandtrello__biginconnection");
  3. // Step 2: Extract task data
  4. taskData = taskDetails.get("data").get(0);
  5. taskName = taskData.get("Subject");
  6. taskDescription = taskData.get("Description");
  7. // Step 3: Trello board and target list name
  8. boardId = "KQMtdnPX";
  9. targetListName = "Today";
  10. // Step 4: Get all lists on Trello board
  11. listsResponse = invokeurl
  12. [
  13. url :"https://api.trello.com/1/boards/" + boardId + "/lists"
  14. type :GET
  15. connection:"biginandtrello__trello"
  16. ];
  17. // Step 5: Find the list ID by name
  18. listId = "";
  19. for each listItem in listsResponse
  20. {
  21. if(listItem.get("name") == targetListName)
  22. {
  23. listId = listItem.get("id");
  24. break;
  25. }
  26. }
  27. // Step 6: Check if list exists
  28. if(listId == "")
  29. {
  30. info "List with name '" + targetListName + "' not found.";
  31. return;
  32. }
  33. // Step 7: Prepare Trello card details
  34. cardDetails = Map();
  35. cardDetails.put("name",taskName + " - From Bigin");
  36. cardDetails.put("desc",taskDescription);
  37. cardDetails.put("idList",listId);
  38. // Step 8: Create Trello card
  39. createCardResponse = invokeurl
  40. [
  41. url :"https://api.trello.com/1/cards"
  42. type :POST
  43. parameters:cardDetails
  44. connection:"biginandtrello__trello"
  45. ];
  46. // Step 9: Log Trello response
  47. info "Trello card creation response: " + createCardResponse;

For details about the API endpoints and request formats used in this code, refer to the Bigin Deluge reference library and Trello API documentation.
Now, let's test whether the topping is functioning as expected. To test the topping, click Test your Topping on the top right of the Bigin Developer Console.


You can test the topping by creating a new Task in your Bigin Sandbox account and then checking your Trello account to see if a new card is created in the specified list.



In this post, We've successfully created a custom service connection between Bigin and Trello!

By using custom service connections, you can securely integrate third-party applications with Bigin and achieve your business's use cases.

Stay tuned for more posts where we'll dive deeper into additional features and best practices for developing powerful toppings in Bigin.



        • Recent Topics

        • Zoho Recruit update published job boards

          If we have a job thats already posted on several different job boards and we edit this job in zoho recruit (e.g. the description of the job), does this then automatically update this new information to all the published job boards?  If not, how does the
        • Narrative 14: The magic bazaar of Desk

          Behind the scenes of a successful ticketing system: BTS Series Narrative 14: The magic bazaar of Desk Marketplace is a centralized platform where users can discover Zoho and third-party applications that can be integrated with their Desk account to facilitate
        • Collections Management: #2 Late Payment Automation

          "Sir, I'll process the payment by evening, please don't apply any late payment charges", the customer said while arranging papers on his desk. Sanjay stood there with a tired smile. He had already visited twice that week. Payment collection was one thing.
        • Create a table in the layout section of modules

          Dear Sirs, I would like to know whether is possible to create a table under new fields in layouts section of modules. In fact in this section there are single line, multi line, pick list, multi-select, date, formula etc. but I am unable to add a table
        • Nimble enhancements to WhatsApp for Business integration in Zoho CRM: Enjoy context and clarity in business messaging

          Dear Customers, We hope you're well! WhatsApp for business is a renowned business messaging platform that takes your business closer to your customers; it gives your business the power of personalized outreach. Using the WhatsApp for Business integration
        • Power of Automation :: Automatic Task Status Handling for Users

          Hello Everyone, A custom function is a software code that can be used to automate a process and this allows you to automate a notification, call a webhook, or perform logic immediately after a workflow rule is triggered. This feature helps to automate
        • Question - why no way to input a 'tool description' and 'tree of 'tools'

          Every business is different, with different business processes. To be truly useful Zoho MCP needs to have user editable tool descriptions (or ruleset) and a 'tool tree' so that the LLM is context aware when being used. For example, the tool description
        • Develop Zoho Meeting as a Full Native Application (Not a Browser Wrapper)

          Hello Zoho Meeting Team, Hope you are doing well. We would like to suggest an important improvement regarding the Zoho Meeting desktop application. At the moment, the Zoho Meeting app feels more like a mini browser window or an iframe that loads the web
        • Can I create a custom function for chart of accounts?

          I'm trying to add a custom function that should run whenever a record in the Chart of Accounts module is edited, but on the form for creating a new function, the module dropdown does not include the chart of accounts as an option.
        • billing

          hi, I am being billed $12/year, and I can't remember why. My User ID is 691273115 Thanks for your help, --Kitty Pearl
        • Unable to confirm Super Admin assignment — confirmation button not working

          I’m trying to change the roles within my organization. I am currently a super admin and would like to add another user as a super admin. When I attempt to confirm the action, a screen appears asking for my password to verify my identity. However, when
        • Feature Request: Reviews

          Any chance we could get a "Reviews" element to put on sites? It should be extremely simple to do. Basically just take the comments box and add an option for a star rating. At the very least, it would be nice to have more customization options for the comment box so the text could be changed from "Comments" to "Reviews". I've looked at a bunch of embeddable review widgets but nothing meets my needs so this would be a great feature to have added to the site builder.
        • Can we handle a support like (incident management) project in Zoho Projects?

          Hi, I have a new profile of a project whereby we provide "ticket" base support to a client. They have a request and ideally we would handle comms via a email exchange logged in Zoho. Today we use Zoho Projects for all out projects, which means that we
        • Trying to show the actual Terms & Conditions on PDF

          Hi, On Zoho forms I am trying to have the actual terms and conditions that the user needs to accept also show on the pdf that they receive after. Right now it only says "Agreed". Please help.
        • Installing EMAIL Setup in New Domain

          Respected Support team, I'm facing an issue with cloudflare in Pakistan, I want to setup Zoho Mail Setup but I Don't know how to enable Zoho mail setup without cloudflare. My Website https://stumbleguyzzapk.com/, https://fakservices.com/ is using CF,
        • Enhancements to Zoho Meeting Annotator

          Hello Zoho Meeting Team, Hope you are doing well. We would like to share a few improvement suggestions regarding the Zoho Meeting Annotator used during screen sharing. While the current version provides helpful annotation tools, there are several limitations
        • Zoho Social/Marketing Plus - Addition to "Monitor" function

          It would be very helpful if the Monitor function would allow us to add a column to monitor hashtags in addition to pages and mentions. This is a common and very valuable function in other social listening tools.
        • Zoho forms - > Zoho desk multiple agents

          Hi! I would like to use a standard form to be used when we hiring people, so we looked at zoho forms for that. Now we would like to get that info in to Zoho desk and their different users shall take care of this ticket simultaneous . So, what would be
        • Almacenamiento

          Hola, Quisiera saber como podría hacer para bajar el almacenamiento de 5gb a mis usuarios, en otras palabras los quiero ir limitando de la cuota real, y luego ir agregando poco a poco la cantidad hasta llegar a los 5gb que me dan en el plan free. 
        • Will I Get a Refund If I Downgrade Zoho Mail?

          Hello, We upgraded an email account for our new employee. However, the employee left after one month, and now I've reduced the number of Zoho Mail users from 7 to 6. Can we get a refund for the remaining portion of our annual payment?
        • Introducing the revamped What's New page

          Hello everyone! We're happy to announce that Zoho Campaigns' What's New page has undergone a complete revamp. We've bid the old page adieu after a long time and have introduced a new, sleeker-looking page. Without further ado, let's dive into the main
        • Zoho Books - France

          L’équipe de Zoho France reçoit régulièrement des questions sur la conformité de ses applications de finances (Zoho Books/ Zoho Invoice) pour le marché français. Voici quelques points pour clarifier la question : Zoho Books est un logiciel de comptabilité
        • How do i follow up my email campaign in-thread

          Is there a way to follow up the email campaign so that it is in-thread using zoho campaigns? eg customer gets original email with subject line "hello" then 5 days later follow up would be with subject line "RE: hello".
        • Announcing new features in Trident for Mac (1.29.0)

          Hello everyone! Trident for macOS (v1.29.0) is here with new features and enhancements to enhance your business communication. Let's take a quick look at them. Access shared mailboxes. You can now view and access shared mailboxes in Trident, which are
        • Books is extremely slow again today !

          Everything is running slowly even with 500mb connection speed
        • Cyclic dependencies in many-to-many relationships...

          I have an application which includes a form for companies, and a form for contacts. Each company can be assigned 1 technical and 1 administrative contact. I have this working okay so far, but I want to copy the scripts used so far to a new empty application. When I import the scripts it fails with a message that says: Problem encountered while creating the application Error in resolving form dependency:Cyclic dependency among the forms:[Company, Contact] What can I do to resolve this? After all,
        • Zoho API to create ticket

          I'm developing an integration to create tickets via API, but, locally it works (send and recieve requests). In production it also works sending requests, but, my file don't recieve any response data. My URL is available in Zoho API Console and I have
        • Automate Timesheet Approvals with Multi-level Approval Rules

          Introducing Approval Rules for Timesheets in Zoho Projects. With this automation, teams can manage how timesheets are reviewed and approved by setting up rules with criteria and assigning approvers to handle submissions. Timesheet, when associated to
        • Labels Part 2

           Hey Zoho Mail Team, On the labels window on the left-hand pane, alphabetize label name display, rather than displaying in order created.  This one should be easy. Thanks, Drew
        • Building Toppings #1 - Serving your needs with Bigin Toppings

          Hey Biginners! We're excited to kick off our Developer Community series on building toppings for Bigin, and our goal is to provide an accessible, beginner-friendly, and relevant path for every developer. Imagine creating tiny pieces of software that unlock
        • Can we create Sprint with tasks from Multiple projects?

          Hi Team, We were using Zoho Sprints for quite sometime. Currently we have started the process of Sprint method. We couldnt create the active sprint board with the tasks from multiple projects. I would like to know whether this is possible or Any timeline
        • Tip of the Week #74– Create automated workflows in MS Power Automate

          Zoho TeamInbox now connects directly with Microsoft Power Automate, letting you streamline everyday routines tasks such as from sending emails to managing threads, with automated workflows. About the integration Zoho TeamInbox integrates with Microsoft
        • Account validation

          Hello everyone, I registered my account on ZeptoMail to use the system, but the problem is that the verification period on Zepto's end has already passed and I have limited functionality.
        • Paste issues in ZOHO crm notes

          Hi, since a week or so I have issues with the paste function in ZOHO CRM. I use "notes" to copy paste texts from Outlook emails and since a week or so, the pasting doesnt function as it should: some text just disappears and it gives a lot of empty lines/enters.....
        • Is it possible to add a gradient color to a newsletter im designing?

          From where i sit it looks like you can only choose a single color but not combine 2 colors?
        • Account disabled

          I have an issue I need help with. Whilst trialing ZOHO CRM I created the following: Account1 (-------------) using m__ame@m__rg___s__i__.___.__ and 2 personal emails Account2 (-------------) using a personal email and 2 users _al__1@______________._o_.__
        • Blocked Email

          We are a Zoho One subscriber and use Yahoo as our MX provider. A few times each year, for the past four years, CRM blocks one or more of my Zoho One users from receiving internal email from CRM. This includes "@mentions" in all modules, and emails from
        • message var is empty in bot mention handler

          Hi, I'm encountering a problem: in my bot's mention handler, I want to retrieve the text the user typed when mentioning the bot. Example: On the #tests-cyril channel, I send this message: “@Donna hello how are you ?” I expect the system variable "message"
        • Remembrance Day to Remember – Recalling Values

          The phrase “at the eleventh hour” refers to the 11th hour of the 11th day of the 11th month in 1918, when the hostilities of World War I came to an end—but it still holds meaning today. Remembrance Day (Veterans Day in the US) is observed on November
        • How to display two measures (sales and price) divided by categories on one line chart

          Hi everyone, I’m having trouble figuring out how to display two columns on a line chart with category breakdowns. What I need is a line chart where one line represents Sales and the other represents Price. However, the Price data is divided into around
        • Next Page