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 public comments are confusing and unnecessary

      Hi, we use zoho desk and have issues with public comments. We started using them because the "Reply" option just seemed very clumsy because of the following reasons: - the top "Reply" button starts what seems to be a regular email, showing the entire
    • Zoho API - ticket creation - Validation failed for the condition : Ticket Status Info should not be empty

      Hi ! I'm trying to create ticket through Zoho API, and I'm getting a 422 response : "Validation failed for the condition : Ticket Status Info should not be empty" My request looks like this : curl --location 'https://desk.zoho.eu/api/v1/tickets' \ --header
    • Deleting unwanted ticket replies

      Hello, In a Zoho Desk Ticket thread, sometimes one of the recipients has auto-reply activated. This creates a new message in the Ticket thread that not only pollutes the thread, but most importantly cannot be replied properly because usually auto-reply e-mails don't do "reply all", so the other recipients are not included. I want to delete such a message in the Ticket thread. I searched the help of Zoho Desk, but only found a way to mark as Spam (https://help.zoho.com/portal/kb/articles/marking-support-tickets-as-spam)
    • System-generated support email added in CC on “Reply All”

      Hi, I recently set up Zoho Desk for a client and we are trying to prevent the Zoho Desk system-generated support email address (not the mailbox used as the department’s "From address") from being automatically added in CC when agents use “Reply All” on
    • Applying Excess Payments & Conflict Invoices Due to Cancelled Items

      I’m running into several issues that appear to stem from deeper-than-expected overlap between Zoho Finance (Books/Inventory) and Zoho POS. The level of coupling between these systems seems greater than what was originally communicated, and it’s leading
    • Convenience Fees

      I use Zoho Invoice for invoicing my billboard customers.  I have a few customers that want to pay using credit cards and ACH.  As a result, I have integrated an Online Payment Gateway (Stripe) for these customers.  I currently charge these customers a "Convenience Fee" of 3% for using this service as I typically only take checks as payment (and the gateway charges 2.9% + $0.30 per transaction).  I do this by creating a separate line item on the invoice and adding 3% to it.  I would like to offer
    • HTML Tags added to Reports with Notes

      Recently Zoho added the ability to markup text within notes. That way, users can change font size, colors, etc. It's a great change. However, since the change, reports that include a column for "Note Content" are printing HTML tags within the report.
    • New Feature: Audit Log in Zoho Bookings

      Greetings from the Zoho Bookings team! We’re excited to introduce Audit Log, a new feature designed to help you track all key actions related to your appointments. With Audit Log, you can maintain transparency, strengthen security, and ensure accountability.
    • Restrict Payment Methods

      Allow us to restrict certain payment methods specific for each customer.
    • Emails Getting Delay Error Messages - Status: 451

      Hi. Hoping someone can help. I've been using Zoho for over a year now with no problems at all. Today, the majority of my emails I send out or reply to are getting this error: This message was created automatically by mail delivery system. THIS IS A WARNING MESSAGE ONLY. YOU DO NOT NEED TO RESEND YOUR MESSAGE. The original message was received at Sun, 22 Dec 2019 18:20:19 -0800 from wazza@amninjas.com [wazza@amninjas.com] ----- The following addresses had fatal errors ----- [Status: ERROR, Address:
    • Add Domain

      Hello Zoho Support, My Zoho Sites project accidentally auto-added domains with http:// prefix and duplicated domain entries. Current domains list shows: http://www.kinhtethethao.com.vn (Primary – cannot be removed) http://www.kinhtethethao.com.vn (verification
    • Kaizen #221: Workflow & Actions Reports APIs

      Over the last few weeks, we have joined Zylker Cloud Services as they restructured their automation ecosystem using Workflow APIs and Actions APIs. Along the way, we discovered how to audit workflows, update old rules, create new ones, and manage associated
    • Having an Issue with the Entity ID

      I'm having an issue when trying to use Zoho Flow and the notes function. I currently have it set up when a new response comes into a particular form, all of their responses will go into the notes section of their contact on the CRM. I'm currently mapping
    • For Each Loop in Zoho Flow

      I am using Zoho flow to create rows in an google sheets for every new order in Shopify but the issue is that it is creating one row per order and all line items are comma separated values but I want separate rows for each line item. Is there a way to
    • Debug and Test not receiving updates

      Hello, I've been trying to debug two of my simple flows between Zoho Projects and Clockify but it seems like the Debug and Test feature is not working for me. When I click the Play button on any of the flows and then perform the trigger actions nothing
    • Attendance, Reimagined: Smarter Views for Teams and Individuals

      Tracking attendance shouldn’t feel like a chore. With the revamped Attendance module UI, Zoho FSM makes it easier than ever to monitor work hours, check-in activity, and team availability—whether you’re managing an entire workforce or just keeping an
    • Logistics Industry: Learn to create amazing appointment scheduling sites

      In the logistics industry, the quality of service is something that cannot be shown to others unless they experience it.  Sure, there are metrics that show how you fare when compared to your competition, but then, it only communicates little with respect to quality. The usual route which firms in logistics took are advertisements, to which the internet has opened alternatives in today’s digital age like websites and appointment scheduling sites. A great online presence can help you communicate with
    • Customer Management: # 1 Pick a Convenient Way to Onboard Customer

      When Meera opened her bookstore, onboarding customers was effortless. A customer walked in, picked a book and left with a handwritten bill. As the store gained popularity, things changed. " Can I place an order over the phone?" a customer asked one day.
    • Fetch ALL items from Inventory and send to Google Sheet using Flow

      The title says it all -- I want to fetch the Item name, SKU, Purchase rate, and Sales rate for ALL items in Zoho Inventory and have them populate a tab in an existing Google Sheet. I have already successfully made this work for one item, so the flow is
    • Why Document Integrity Matters at Every Stage of the Contract Lifecycle

      Contracts are legal records that must stay authentic and traceable from creation to expiry or termination. In Zoho Contracts, several design decisions focus on protecting the integrity of every document. These measures ensure that no important details
    • affichage pièces jointes impossible

      Bonjour, aujourd'hui je n'arrive pas à afficher ni à télécharger les pièces jointes dans ZOHO CRM. J'utilise Chrome, j'ai vidé les caches et les cookies. Mais cela ne change rien. Merci de votre aide
    • Reminder to renew subscription.

      Whenever I try to add to one of my notes a " renew your subscription" window pops out and won't Close disallowing me to edit. Why should I renew my subscription on an application with at best such bugs and at worse such underhanded ways to force ren
    • Fields not coming through, not pulling data

      Forgive the noviceness of my vocabulary. I am in Zoho flow connecting CRM and Projects. When an opportunity hits a certain stage, it will create the project in Projects, and bring in data from the opportunity. Everything is working, except for two fields
    • Smartsheet Integration

      Has any in the community been able to integrate Zoho Desk with Smartsheets using Zoho Flow? I am trying to get the Smartsheet Row ID based on ticket data and cannot find documentation on the Get Row function for Smartsheet. It is asking for a Query String
    • CRM Campaign - how to mass remove contacts?

      Does anyone have a solution for removing all contacts from a CRM campaign. Seems that one by one is the only option. 
    • Send out follow-up email in the same thread (threaded conversations in individual emails) from Zoho CRM

      Hi, I'm new to Zoho. I'm trying to send individual emails to my leads one by one. And I'll send out follow up email if I don't hear back from them later. However, instead of sending a new email, I want to reply in the same email thread so that the recipients
    • Cadence Support in Zoho Vertical Studio

      We would like to know whether it is possible to create and configure Cadences in Zoho Vertical Studio, similar to the Cadence feature available in Zoho CRM. Please confirm if Vertical Studio supports creating cadences for modules and users, and whether
    • Removing "Products" as mandatory field from Sales Order creation page

      Hello, friends According to our workflow, we should: 1) create Sales Order (Stage "New") 2) call and discuss the Products with a customer (Stage "Communication") 3) add the Products to the Sales Order during the call However, "Products" is mandatory to
    • Zoho Books says "The customer "Hakimuddin P A Ali" already exists. Please specify a different name.""

      One of my transaction is not getting posted from Stripe to Zoho books. I already checked in Zoho books that there is no customer already present in Zoho books with the same name (as the error mentions) I already raised this complaint on Zoho flow portal,
    • Is it possible to automate a file to be directly uploaded to a specific subfolder in Zoho Workdrive?

      I am establishing a workflow so that when a new task is marked "complete", the document submitted in the task (under the "Documents" tab) is automatically uploaded to a specific subfolder in the associated WorkDrive for the project. However, the dilemma
    • Steuerberater der Zoho benutzt in Deutschland

      I write in English because the issue is related to German regulations. Wir sind ein Unternehmen, welches aktuell keine Pflicht zur doppelten Buchführung hat. Aktuell bucht unser Steuerberater jeden Beleg, auch unsere Auslagen. Wir würden dies gerne selbst
    • Why are some folders not showing up as an action trigger in Zoho Flow?

      I am currently working on a flow that automates the process of creating a folder in WorkDrive once a Task List is created. When I am selecting a destination for the folder, some projects are not showing up. I intend to create a folder within a specific
    • Getting Date from PostgreSQL error

      I am pulling data from PostgreSQL table into a CRM record via FLOW but the field is coming out empty. Need some suggestions: Field Type in CRM: Date/Time Field value in PostgreSQL: 2024-12-05 21:06:32.479 Field value in FLOW "Fetch Row": created : "2024-12-05T21:06:32.479382000",
    • Zoho Flow to SendOwl API error

      SendOwl is listed in the apps list of Zoho Flow. When trying to connect through the API with valid key and secret, the error given is: SendOwl says "HTTP Basic: Access denied" It seems Zoho doesn't connect via HTTPS. I've already tried using webhooks,
    • decisions based on content of a ticket

      Hi, I need to create a flow that sends automated email based on the content of a ticket in zoho desk. I have certain tickets that are formatted in a particular way, and contain certain keywords. How can I filter (based on decisions) the tickets based
    • Newline Character "\n" parsing problem in webhooks

      Hi there, I am facing an issue in Zoho Flow (maybe a general issue or maybe only in Zoho Flow): I have this function: void sendListWebhook(string url, list array) { for each arrayElement in array { result = invokeurl [ url :url type :POST parameters:arrayElement.toString()
    • One Company, multi branches, multi warehouses and I need to manage this in one organization

      Dears,  I'm a new user to zoho solutions,  however I found a lot of persons giving a nice feedback about it also a lot of good reviews. I though why we try to move to it in our company. I'm not sure if Zoho could give me all what I need or not that's why I'm going to post in this topic most of the things I know about managing our business to let you ,as zoho experts, tell me if Zoho will meet my business requirements or not. First of all we are a flowers and landscaping company we have like 6 to
    • Migration Evernote

      Bonjour Apres plus d'une dizaine d'année passer avec evernote j'ai décidé de franchir le pas . J'ai débuté par migrer mes notes vers zoho et depuis la migration est bloquée. Impossible d'avoir un retour du support malgré plusieurs mails et tentative d'appel
    • Pushing GCLID info from Gravity Forms to ZohoCRM

      We are switching to Gravity Forms from Zoho Forms and I cannot find any good info on how to make sure my GCLID tracking info is pushed through to the CRM through my new forms. There was an article in the documentation about placing something within the
    • On Zoho Flow, Record deleted trigger from Zoho Creator

      On creating flow in Zoho Flow, when we select app Zoho created, it provides 3 trigger options - Record created, Record updated and Record created or updated We need trigger on "Record Delete" as well, We have a use case to fire our system api if record
    • Next Page