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

        • CRM Percent custom fields: When will it show the % symbol and behave like %?

          1. Actually Percent custom fields fail to show the % symbol. 2. When in formulas Percent fields work like number: 100 x 5% = 5 ideal world 100 x 5% = 500 what happens actually 3. When importing Percent fields the % symbol has to be removed and the data
        • Editing the Ticket Properties column

          This is going to sound like a dumb question, but I cannot figure out how to configure/edit the sections (and their fields) in this column: For example, we have a custom "Resolution" field, which parked itself in the "Ticket Information" section of this
        • "Total Hours" on Employee Attendance Report

          I'm learning that in Zoho jargon, "total hours" does not include paid breaks. Or at least not the way that my setup is working. That seems a little weird to me, since most jurisdictions in the US don't differentiate between time spent on paid break and
        • Fixed assets in Zoho One?

          Hi, We use Zoho Books and have the fixed asset option in it. I started a trial for Zoho One and I do not see that as an option. Is the books that is part of zoho one equivalent to Zoho Books Elite subscription or is it a lesser version? Thanks, Matt
        • Integration with...

          Dear Zoho Commerce team, Please could you consider the integration within Zoho Commerce / Inventory and Qapla'? (https://www.qapla.it/en/) This app is better than Aftership in many ways: - Aftership integration require PRO plan and price start from more
        • Generate leads from instagram

          hello i have question. If connect instagram using zoho social, it is possible to get lead from instagram? example if someone send me direct message or comment on my post and then they generate to lead
        • Adding Markdown text using Zoho Desk API into the Knowledge Base

          Hi Zoho Community members, We currently maintain the documentation of out company in its website. This documentation is written in markdown text format and we would like to add it in Zoho Knowledge Base. Do you know if there is REST API functionality
        • Create case via email

          Good Afternoon, I have just registered and am taking a look around the system. Is it possible to create a case via email.  I.e. an employee/client/supplier emails a certain address and that auto generates the case which then prompts a member of staff
        • Need a Universal Search Option in Zohobooks

          Hello Zoho, Need a Universal Search Option in Zohobooks to search across all transactions in our books of accounts. Please do the needful Thanks
        • Locked Notebook

          Hi, I hadn't used my Notebook in some time and was refamiliarizing myself with it. I clicked a lock icon and now I can't unlock. When I hit the information or unlock icons I'm taken to a page with the notebook icon and a keyboard. When I type, nothing
        • Hide fields only for creation

          Hello, I'd like to hide some fields only during the creation of a contact in Zoho CRM. In fact I have some fields that are automatically calculated thanks to an automation, so when my users create a contact I don't want them to fill those fields. I know
        • Issues with Zoho Sheet in Mac

          I have downloaded the Zoho App from App Store but It is failing to Save As, Open & Download Operations. App Store
        • Weekly Sales Summary

          Is it possible to generate a weekly report in Zoho Books to show -$$ amount of estimates generated -# of estimates generated by Salesperson -$$ amount of Sales Orders created -$$ amount of Invoices generated
        • OpenAPI Specs are just plain wrong

          The provided yml files for generating the OpenAPI specs are absolutely riddled with errors and inconsistencies. From missing fields on the objects, to just incorrectly named resource objects. I'm having to go through and manually changing the spec to
        • Add Account column to Invoice screen

          Please show the account column on Invoice creation screen. It is an unnecessary step to have to click add additional info and then select the account for line item. Example : on the bill creation screen when entering description we can easily code it against an account. On the invoice screen it requires additional click. Adding the column on the Invoice screen will make it faster to enter transactions. We currently have 5-6 different accounts that we code line items against, You can imagine the extra
        • Custom Footer – Zoho Writer Document

          Hello everyone, I’m having an issue adding a custom footer in a Zoho Writer document. I would like to insert my company information (including a logo + address) in the footer. The problem is that when I add these elements, the main content of my pages
        • Report grouping

          I have added a grouping in a report but it is not working how i had expected. I wanted to group a summary on a field named Size but when i add the grouping the report is still showing me each record and making a summary at the bottom of the report. What
        • Social Media Simplified with Zoho Social: Preview your Instagram grid before posting

          For a platform like Instagram that relies on visual appeal, it's important that you plan your image and video content in a way that holds your audience's attention. Planning your grid ahead of time gives you the benefit of understanding how your posts
        • Error code 1000

          Can you please tell me why the following, occasionally causes this error via the api, not every time ?... zoho.books.updateRecord("salesorders",organizationID,salesorderID,{"template_id":"#################069","custom_fields":[{"label":"DelDate","value":"Tuesday,
        • VAT rates - exempt and out of scope

          Good Evening, UK based company here. I am a bit confused in respect of setting up VAT rates for exempt goods and services; at present I am simply leaving the VAT rate blank in the transactions in order to prevent any VAT appearing in the VAT return. When
        • How to loop through Multiple Upload and Display Actual File Name

          I have been reading the help on the File Upload Control and reviewed the Deluge help on files and I can not figure out how to loop through the uploaded files and do anything but get the automatically created file names. The code below will run but each
        • abou arattai

          I want to use the Arattai app for business purposes, so please convert my account to a business account.I have my own invoice app, and I want to link it with the Arattai app for direct messaging.
        • vendors / customers with 2 different address and gst no

          Why can't we have option for more than one address and depending on the state option for more than 1 GST no. ? We have customers / vendors PAN india with different addresses and GST no. for different states.
        • Configurable Zoho Cliq Notifications for Zoho People Alerts

          Hello Zoho People Product Team, Greetings and hope you are doing well. We would like to request an enhancement to Zoho People notifications, enabling a native delivery via Zoho Cliq with admin-level control, similar to the notification settings available
        • Looking back at Zoho Calendar in 2025

          Hello Zoho Calendar Community, As we step into a brand-new year, we’d like to take a moment to thank you for being an active and valued part of the Zoho Calendar community. Your trust, feedback, and continued engagement motivate us to keep evolving and
        • There was an error while connecting to GSTN

          I am trying to file GSTR1. Everything flows smoothly until I reach the final step of filing the return. After I enter the PAN and OTP for filing it raises the error "There was an error while connecting to GSTN"
        • Zoho Books Extension: What Happens If Custom Fields Already Exist?

          When developing Zoho Books extensions, what happens if the target Zoho Books organization already has a custom field with the same API name as one defined in the extension? I’m asking because we originally created an on-Books version of this functionality,
        • Internal Server Error (500) When Attempting to View Banking Transactions

          I am experiencing an Internal Server Error (500) when attempting to view transactions across all of my banking accounts. Despite multiple attempts to resolve this, I have received little more than runaround from support, and the issue remains unresolved.
        • How do I add a blank line to the Organisation Address Format?

          I'd like to have my VAT number, for example, shown prominently by having a clear gap between it and the address block above, but any blank lines in the address format get ignored in PDF outputs.
        • Automatic Invoice Number generation for createRecord

          Hello, while testing some custom Buttons in my Zoho Books application, I noticed that I get an error that previously did not occur. After some further digging I found that the automatic transaction numbering of invoices no longer work in my organization.
        • Adding number of days to an estimate.

          I need both QTY of item and "number of days hire" in my estimates at the line item level. Any clues as to how this is done would be greatly appreciated. It needs to calculate. Thanks J
        • Books Api: listing expenses created after certain dates

          Is there any parameter I can add to the List Expenses endpoint that will let me look up expenses by when they were created?
        • Why can't we change the Account type from an Expense to an Asset?

          Like the question. Why in QuickBooks for example if I mistakenly created an account as an expenses and I already captured information in those accounts, I can just change the account type from expense to asset
        • Is it possible to do validation for the Actions added to Reports?

          We have an all-around On Validate function that checks all the possibilities before the Created/Edited form submissions. We want to have a button in the report view, so we can change records without entering. We are able to add this button, and it does
        • Ability to Edit Ticket Subject when Splitting a Ticket

          Often someone will make an additional or new request within an existing ticket that requires we split the ticket. The annoying part is that the new ticket maintains the subject of the original ticket after the split so when the new ticket email notification
        • Function #11: Apply unused credits automatically to invoices

          Today, we bring you a custom function that automatically applies unused credits from excess payments, credit notes, and retainer payments to an invoice when it is created. Prerequisites: Create a Connection named "zbooks" to successfully execute the function.
        • [Free Webinar] Environments in Zoho Creator - Creator Tech Connect

          Hello Everyone, We’re delighted to kick off the 2026 edition of the Zoho Creator Tech Connect Series and are excited to continue this learning journey with you. The Creator Tech Connect series is a free monthly webinar featuring deep-dive technical sessions
        • Zoho Voice API SMS

          I made a post request in Zapier to try to send an SMS. Authentication appears to be configured correctly. I followed the documentation and I'm getting a 400 Error "Internal Server Error". Not helpful at all. Anyways, I could not find any information on
        • How do I change (error) display messages

          Hi! I would like to edit display messages like "invalid entries" and "enter a value for Nome" and so on into Italian language messages. How can I do that? Already tried on Validate on form submit. Where I am failing? Thanks in advance.
        • Record Overseas Transactions Along with CC charges

          Hi All, We receive payments via stripe in multiple currencies and stripe takes around 2.5% fees. The amount is settled in INR into our local bank. What should be the currency of the income account used for Stripe payments? Here is a sample flow that we
        • Next Page