Testing and publishing Bigin toppings

Testing and publishing Bigin toppings

Hey Biginners!

In previous forum posts, we discussed what a Bigin topping is and explored the Bigin Developer Console's features. In this post, we're going to create a topping from scratch and discuss how to test and publish it.

Our topping will automate follow-up management in Bigin and ensure that follow-up calls are systematically created based on certain conditions, helping users improve the efficiency of their sales cycles and stay on top of their tasks.

Setting up the topping

We'll start with a custom field and workflow by creating a topping in the Bigin Developer Center.

Inside the created topping's Developer Console, add a new field by navigating to the Components section under the Build category and clicking the New Custom Field button. Create a custom field named "Follow-up Needed" in the Tasks module. This field should be a picklist with two values: "Yes," which will trigger a follow-up, and "No," which indicates that no follow-up is needed.


Creating a default Bigin connection

Next, create a default Bigin connection and authorize it to securely access your Bigin data. This connection allows authorized interaction between the topping and Bigin's modules.

For a more detailed explanation, refer to our post on creating Bigin connections


Creating a workflow rule

To create a workflow rule to schedule follow-up calls, go to the Automate section and select Workflow, then click the Create Rule button. From the Module dropdown, choose Tasks and enter "Schedule Follow-Up Call" as the rule name. Once done, click the Next button.



On this screen, we'll define the workflow rule. Set Record action as the criteria for the workflow rule execution. Then, select the Create or Edit option to specify which operation should trigger the rule.

Note: To ensure the workflow runs every time the task is updated, check the option Repeat the workflow whenever a task is edited, and click on the Next button to continue.



Next, you can define conditions that determine when the workflow should be triggered. To automate a follow-up call, apply these conditions:
  1. The status of the task is updated to completed.
  2. The Follow-up Needed field is set to "Yes."
Once the conditions are set, navigate to the Instant Actions section and select Function from the list of available actions. Provide a function name and display name, then click the Create Function button. This will redirect you to the Deluge editor, where you can write the logic for the function.



When the workflow criteria and conditions for a task are met, the function (which is created in the Deluge editor and linked to the workflow) will be executed automatically.

Let's look at how the logic is handled within the function in the Deluge editor.
  1. // Fetch the details of the task that's triggered by the workflow
  2. taskDetails = zoho.bigin.getRecordById("Tasks",task.get("Tasks.ID"),Map(),"taskscheduler__connectbigin");
  3. //Initialize a map to store call details
  4. callDetails = Map();
  5. callDetails.put("Call_Duration", null);
  6. callDetails.put("Call_Start_Time", "2025-03-04T18:00:00");
  7. callDetails.put("Call_Type", "Outbound");
  8. //Retrieve task data from the fetched task details
  9. taskData = taskDetails.get("data").get(0);
  10. //Extract task owner details
  11. ownerMap = Map();
  12. taskId = taskData.get("id");
  13. ownerMap.put("id", taskData.get("Owner").get("id"));
  14. //Assign owner details to the call record
  15. callDetails.put("Owner", ownerMap);
  16. //Assign contact details to the call record
  17. callDetails.put("Related_To",taskData.get("Related_To"));
  18. // Create a call record in Bigin
  19. response = zoho.bigin.createRecord("Calls", callDetails, Map(), "taskscheduler__connectbigin");

Overview of Code Logic

  1. Retrieve task details: The first step is to fetch the task details required for creating a follow-up call. (Note: We recommend using Bigin's Deluge functions to work with Bigin records.)
  2. Setup to create a call: A map is initialized to store call details.
  3. Create a new call record: Using the retrieved task details, which includes essential information like task owner details and related contact information, a new call record will be created in the Calls module in Bigin.
Once the function is created and saved, testing the topping ensures that any potential issues are identified and resolved before making it available to others.

Testing the topping in a sandbox

Thoroughly testing a topping is essential to make sure it's working as expected before it's submitted to the Marketplace team and listed in the Marketplace.

Before initiating the testing process, the developer must authorize the Bigin connection associated within the topping. For more details on connector authorization, please refer to the Connections guide.

This authorization enables secure data exchange between the topping and the connected Bigin account. Authorizing this connection is equally important when testing the topping using the sandbox environment, a virtual testing space that simulates the structure and behavior of a typical Bigin production account. The sandbox allows you to test your topping before deployment in an isolated environment where changes don't affect your live data.

To begin testing, navigate to the Test your Topping button located in the top right corner of the Bigin Developer Console. This will launch the virtual sandbox environment.



In the sandbox account, you can test the topping by creating a new task. Click on the Create New Record button and select Task from the options. Enter the necessary task details, ensuring that the Related To field is provided. This associates the task with the Bigin contact, enabling the follow-up call activity to be triggered for that specific contact when the workflow criteria is met. Next, set the Follow-up Needed field to Yes and save the task.

Navigate to the Activities module and go to the newly created task. Here, the automation happens based on two criteria specified in the workflow:
  1. The field value of Follow-up Needed is "Yes."
  2. The task is marked as completed.

Upon satisfying these two criteria, a follow-up call for the task will be created in the Calls module.



If the topping isn't working as intended, you can fix the issue instantly in the Developer Console and test in the sandbox environment.

Publishing the topping

Once you finish building and testing the topping, you can publish it two ways, depending on how you want to distribute it to users:
  1. Publish your topping privately.
  2. Submit it to the Bigin Marketplace.

Publishing a topping for private customers

If you're building a topping for a particular set of customers, you can choose private publishing. Choose the Publish option in the left panel of the Bigin Developer Console to do this.

After choosing the option, the Bigin Developer Console displays the customizations and components used in the topping.

Provide a release note for the topping and click the Confirm button. You'll get an installation URL for your topping. You can share this URL with customers so they can install the topping in their Bigin account.

You can also share the topping privately via email. Click the Share Privately option for a preconfigured email template. Enter the customer's email in the To field, then click the Share button to send the email.


Publishing publicly in Bigin Marketplace

If you want to share your topping with a wide audience, the Bigin Marketplace is your go-to platform. This platform lists Bigin toppings and makes them available to all users. If you want to list your topping in the Bigin Marketplace, you must follow a set of procedures:
  1. Submit the topping for review to the Marketplace team.
  2. Ensure the topping satisfies all the Marketplace standards.
To submit the topping to the Marketplace, navigate to the Bigin Developer Center, choose the topping you need to publish, and click on the Toppings details icon.



Under the Status section, click Submit to Marketplace.



Here, you need to provide details about your topping in the Marketplace Details window. Once the Bigin Marketplace team completes the review process, the topping will be listed in the Bigin Marketplace, allowing users to find and install it in their Bigin accounts.

From integrating components to submitting toppings for review, we've covered building and testing toppings.

In upcoming posts, we'll take a closer look at each feature with a detailed use case.

Stay tuned!

<<Previous                                                                                                                                                                                                                                                                            Next>>                                                                                                                                                                                                                                                                                                                   
    • Recent Topics

    • Reminders for Article Approval

      Is there a way to send reminders for approvers to review articles and approve/deny them? I'm not seeing that option anywhere.
    • Add Full-Screen Viewing for Quartz Recordings in the Client Interface

      Hi Zoho Team, We would like to request an enhancement to the Zoho Quartz client interface when viewing submitted recordings. Current Limitation: When viewing a Quartz recording from the client (user) interface, there is currently no option to switch the
    • 2025 Recap: A Year to Remember | Zoho Inventory

    • Important Update : Pipedrive deprecated fields no longer supported in Zoho Analytics

      Dear Pipedrive users, We would like to inform you about a recent update related to your Pipedrive integration with Zoho Analytics. The Pipedrive team has deprecated certain fields from their application. You can find more details in the official Pipedrive
    • Product Updates in Zoho Workplace applications | November 2025

      Hello Workplace Community, Let’s take a look at the new features and enhancements that went live across all Workplace applications this November. Zoho Mail Format comments easily using Slash Commands With Slash commands, you can easily format text, insert
    • Right-Click Pipeline to Open in New Tab

      Please add the ability to right-click on a pipeline to open it in a new tab
    • Adjusting Physical Inventory

      Not getting very far with support on this one, they say they are going to fix it but nothings happened since November. Please give this a thumbs up if you would like to see this feature or comment if you have some insight. Use Case: Inventory set to be
    • I need to Record Vatable amount and non vatable amount separately in zoho books in a single line

      I need to Record Vatable amount and non vatable amount separately in zoho books in a single line give me the customisation option and in invoice copy to customer the total amount should be inclusive 5%vat and no need to show the vatable and non vatable
    • sync views to sheet

      Im looking to sync my views aka reports in analytics to zoho sheets, when data is updated in analytics it also should be updated in sheets, till now zoho sheets only offer raw data connection and it is not enough as these reports are difficult to re-do
    • How to update the Status in a custom module?

      Hi, I have a custom module "cm_payment_registry" in Billing, I am trying to change the status which is "Draft" with: array = {"custom_status":"Approved"}; zoho.billing.update("cm_payment_registry",organization.get("organization_id"), XXXXXXXXXXXXXX, array,"connectionname");
    • Opening balances - Accounts Receivable and Payable

      Our accounting year starts on 1st August 2013 and I have a Trial Balance as at that date, including Accounts Receivableand Accounts Payable balances, broken down by each customer and supplier. Q1 - do I show my opening balance date as 31st July 2013 or
    • Replace Zoho Invoice with QuickBooks

      We are implementing Zoho FSM for a cleaning business in the US with 50+ field workers. This business has been using Quickbooks for accounting for decades and will not migrate to Zoho Books. A major issue in the integration is the US sales tax calculation.
    • 2025 Highlights: A Year of Steady Progress and Significant Developments

      As we come to the end of 2025, let's take a moment to reflect on the significant progress and developments we've made to improve your travel and expense management. In the Spotlight Introducing Online Booking (US edition only - Early access) Enable online
    • Function #42: Show the actual rate of items on invoices

      Hello everyone, and welcome back to our series! In Zoho Books, you have the ability to create Price Lists, wherein you can mark up and mark down the item rates by a specific percentage or set custom rates. Generally, when you apply a price list to an
    • Ability to Set Text Direction for Individual Cells in Zoho Sheet

      Dear Zoho Sheet Team, We hope you are doing well. We would like to request an enhancement in Zoho Sheet that allows users to set the text direction (right-to-left or left-to-right) for individual cells, similar to what is available in Google Sheets. Use
    • Warehouse fast processing

      Hey guys, would anyone be interested in something like the attached image ? If there's any interest I'd be willing to develop it further for others to use, it's much faster than using Zohos native solutions, it can part pack, pack in full, part ship,
    • Can I create a CODE 128 custom field for my items in Zoho Inventory and then use it for generating Sales Orders?

      Can anyone helps me, I don't want to use the SKU code for scanning my products.  ​Because all my products have a CODE-128 label attached.
    • Start/Stop Timmer in Chrome Extension

      The chrome extension is great and allows you to do allot however one of the most common things employees working on projects need to do is track their time. Having an easy start/stop timer to track time would be great.
    • Invalid collection string

      I haven't changed anything in one of my functions. I'm trying to run it manually and suddenly "Invalid collection string" appears. My code has 6 lines and the error says that the error is on 7th line. Why? What does this error mean? Nothing has been changed
    • Zoho Directory 2025: New Features | Security Enhancements | Enriched UI

      Hello everyone, Greetings from the Zoho Directory team! 2025 has been a highly successful year for Zoho Directory. We are delighted to introduce a fresh set of features, an enriched UI, and major product enhancements. These updates aim to deliver a smoother
    • zoho people 5 report

      How do I customize my report in Zoho People Report? I understand that I can get the results of multi-table queries through SQL join statements, but I don't know the relationship between each table. I tried to create a report using Attendance User Report
    • Leave Report Emailed Weekly

      I am wondering if someone knows how to have a report generated either weekly or monthly or both for department heads and ownership of upcoming employee leave. For instance, it would be nice to get an emailed report on Friday for the upcoming week of who
    • Zoho Flow Decision Continuing Despite Not Meeting Conditions

      I have a picklist field called Lead Status in the leads module, with the following lead Statuses: New Lead Attempted Contact - 1 Attempted Contact - 2 Attempted Contact - 3 Attempted Contact - 4 Attempted Contact - 5 Attempted Contact - 6 Attempted Contact
    • Tip #55- Accessibility Controls in Zoho Assist: Exploring Vision Settings- 'Insider Insights'

      As we approach the end of the year, it’s a good moment to reflect on how we can make our tools more inclusive and easier to use for everyone. Remote support often involves long hours in front of screens, varied lighting conditions, and users with different
    • Zoho Recruit Slow and Freezing on all screens

      We have had an issue with Zoho Recruit for weeks being extremely slow and at times freezing.  We have 100 mega internet, and I went into each computer and updated the virtual memory so there is more available.  Also restarted all computers daily.  Still having the issues.  Almost unable to work.
    • Credit Management: #2 Configuring Right Payment Terms for Credit Control

      Think about the last time you ordered something online and saw that little note at the checkout, "Pay on Delivery" or "Pay later". It's simple, but it actually sets the tone. As a business owner, you know exactly when payment is expected. Now, imagine
    • Dependent (Conditional) Fields in Zoho Bookings Forms

      Hello Zoho Bookings Team, Greetings, We would like to request the ability to create dependent (conditional) fields in Zoho Bookings registration forms. Current Limitation: There is currently no way to make one field’s available options depend on the value
    • Bug Report: Search fails to find existing notes after Evernote import

      Hello, I recently migrated from Evernote (~2600 notes across 23 notebooks), but the search functionality is currently broken. The Issue: I can manually browse to a specific note and see it exists. However, when I type the exact or partial title of that
    • Marketing Tip #13: Win repeat customers with post-purchase emails

      The relationship with your customer doesn’t end after the sale; that’s when it begins. A thoughtful post-purchase message shows customers you appreciate them, keeps your brand top of mind, and can even lead to another sale. You can thank them, ask for
    • Zoho Form

      I have problem with Zoho Form. One of form i don't received the PDF version. Others okay except this one. W904533
    • Create & Update Zoho Vault Passwords via Zoho Flow

      Hi Zoho Flow / Zoho Vault Team, We’d like to request an enhancement to the Zoho Vault integration in Zoho Flow. Current Limitation: At the moment, Zoho Flow supports only the following selected Zoho Vault actions, such as: Fetch passwords, Share passwords
    • Custom Related List Inside Zoho Books

      Hello, We can create the Related list inside the zoho books by the deluge code, I am sharing the reference code Please have a look may be it will help you. //..........Get Org Details organizationID = organization.get("organization_id"); Recordid = cm_g_a_data.get("module_record_id");
    • Migrate different zoho subscription to zoho one

      Dear We have different zoho subscription we need to migrate it to zoho one. Currently we are paying for zoho email, zoho expense, zoho payroll etc under different admin We need to move it too zoho one flexlible plan for all my employees
    • Features, Feedback and Votes

      We’re launching the Feedback Forum for our customers. This is 'THE' place where you can add everything you’d like to see in Zoho Books. If you don't find the specific feature you need, simply add it so others can also vote for it. While we cannot promise
    • Payment system for donations management

      I manage an organization where we receive donations from payers. Hence, there is no need to first create invoices and then create payments received against the invoices. What are the recommended best practices to do this in ZohoBooks?
    • There Might Be A Glitch in Determining If A String Represents A URL

      I suspect there might be a glitch in determining if a string represents a URL or not. For example, I cannot embed the following URL. Perhaps the exclamation mark or parentheses are the culprit? https://en.wikipedia.org/wiki/How_the_Grinch_Stole_Chri
    • Customer Management: #4 Enhance Customer Journey

      When Neha started DefineOps, a growing IT support and consulting firm, most of her work was straightforward. A client would sign up for a free version, decide whether the service works for them, and then either continue or discontinue. Billing was simple,
    • Android app sync problem - multiple devices have same problem

      Hello, I am having a problem with synchronization in the Android app. When I create a drawing, the data does not sync correctly—only a blank note is created without the drawing. I tested this on multiple devices, including phones and tablets, and the
    • Marketing Tip #1: Optimize item titles for SEO

      Your item title is the first thing both Google and shoppers notice. Instead of a generic “Leather Bag,” go for something detailed like “Handcrafted Leather Laptop Bag – Durable & Stylish.” This helps your items rank better in search results and instantly
    • Territory Assignment Issues (Lead to Account + Contact)

      1. Lead → Account & Contact Territory Assignment on Conversion A Lead is automatically assigned one or more territories using a workflow and Lead Assignment Rules. This works as expected, and we are able to assign multiple territories to a Lead automatically.
    • Next Page