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

        • Keep Zoho People Feature Requests in the Zoho People Forum

          Hello Zoho People Product Team, Greetings. We would like to submit a feature request regarding the handling of feature requests themselves, specifically for Zoho People. Issue: Feature Requests Being Moved to Zoho One Zoho People feature requests are
        • ZO25: The refreshed, more unified, and intelligent OS for business

          Hello all, Greetings from Zoho One! 2025 has been a remarkable year, packed with new features that will take your Zoho One experience to the next level! From sleek, customizable dashboards to an all-new action panel for instant task management, we’ve
        • Introducing Multi-Asset Support in Work Orders, Estimates, and Service Appointments

          We’re excited to announce a highly requested enhancement in Zoho FSM — you can now associate multiple assets with Work Orders, Estimates, and Service Appointments. This update brings more clarity, flexibility, and control to your field service operations,
        • [Product Update] Locations module migration in Zoho Books integration with Zoho Analytics

          Dear Customers, As Zoho Books are starting to support an advance version of the Branches/Warehouses module called the Locations module, users who choose to migrate to the Locations module in Zoho Books will also be migrated in Zoho Analytics-Zoho Books
        • Introducing Schedules for smarter availability management

          Greetings from the Zoho Bookings team! We’re excited to introduce Schedules, a powerful enhancement to manage availability across your workspace. Schedules are reusable working-hour templates that help you define and maintain consistent availability across
        • Why Zoho Contracts Prefers Structured Approvals Over Ad-hoc Approvals

          Approvals are one of the most important stages in a contract’s lifecycle. They determine whether a contract moves forward, gets revised, or needs further discussion. The approval process also defines accountability within the organization. Zoho Contracts
        • Whatsapp Connection Status still "Pending" after migration

          Hello, I migrated my WhatsApp API to Zoho from another provider a day ago. So far the connection status is still “Pending”. There is a problem? How long does it usually take?
        • Kaizen #226: Using ZRC in Client Script

          Hello everyone! Welcome to another week of Kaizen. In today's post, lets see what is ZRC (Zoho Request Client) and how we can use ZRC methods in Client Script to get inputs from a Salesperson and update the Lead status with a single button click. In this
        • How to use Rollup Summary in a Formula Field?

          I created a Rollup Summary (Decimal) field in my module, and it shows values correctly. When I try to reference it in a Formula Field (e.g. ${Deals.Partners_Requested} - ${Deals.Partners_Paid}), I get the error that the field can’t be found. Is it possible
        • How to Filter timewise question to check uploaded one month or two months before in these community question ?

          i want to find the question that is asked some month or before any particular year, so how can i filter it ?
        • Proposal for Creating a Unique "Address" Entity in Zoho FSM

          The "Address" entity is one of the most critical components for a service-oriented company. While homeowners may change and servicing companies may vary, the address itself remains constant. This constancy is essential for subsequent services, as it provides
        • Workflow Down/Bug

          We have a workflow that sends an email to one of our internal departments 10 minutes after a record is created in a custom module. The workflow actually works correctly. However, we have now noticed that on January 8, between 3:55 p.m. and 4:33 p.m.,
        • Service Locations: Designed for Shared Sites and Changing Customers

          Managing service addresses sounds simple—until it isn’t. Large facilities, shared sites, and frequently changing customers can quickly turn address management into an operational bottleneck. This is where Service Locations deliver clarity and control.
        • Can I re-send the Customer Satisfaction Survey after a ticket closure?

          Hello, Some customers does not answer the survey right after closure, is it possible to re-send after a few days or weeks? Best Regards!
        • Account blocked

          Yesterday I got my Zeptomail account blocked due to too many hard bounces. My account is used exclusively for sending transactional emails (eg. your order has been shipped, a form has been filled, etc) and the sudden blocking impacted hundreds of websites
        • Filter contacts based on selected category in Zoho Desk ticket

          Hello community, I’m setting up the Tickets module in Zoho Desk and I need help implementing the following: When a category is selected in a ticket, I want the Contact field to be filtered so that it only displays contacts that are related to that category.
        • Mapping a new Ticket in Zoho Desk to an Account or Deal in Zoho CRM manually

          Is there any way for me to map an existing ticket in Zoho desk to an account or Deal within Zoho CRM? Sometimes people use different email to put in a ticket than the one that we have in the CRM, but it's still the same person. We would like to be able
        • Assign Income to Project Without Invoice

          Hello, Fairly new user here so apologies if there is a really obvious solution here that I am just missing... I have hundreds of small deposits into a bank account that I want to assign to a project but do not want to have to create an invoice every time
        • Tracking Non-Inventory Items

          We have several business locations and currently use zoho inventory to track retail items (sales and purchase orders). We were hoping to use zoho inventory to track our non-inventory items as well (toilet paper, paper towels, etc). I understand that we
        • Profile Page View Customization

          I need to change the fields, sections from the profile view of an emplyoyee.
        • Zoho Desk Android app update: Filter, Sort and Saved filters Enhancements

          Hello everyone! We are excited to introduce the below features on the Android version Zoho Desk mobile app: 1. Filter & Sort support has been introduced for the Contacts and Accounts modules. 2. Sort options is now available in Custom Modules as well.
        • Accessing shared mailboxes through Trident (Windows)

          Hi, I have a created a couple of shared mailboxes. The mailboxes are showing up on the browser based Zoho workplace, but I cannot seem to figure out how to access my shared inboxes through Trident (Windows). Am I missing something or is this feature not
        • Feature Request: Ability to set Default Custom Filters and apply them via URL/Deluge

          I've discovered a significant gap in how Zoho Creator handles Custom Filters for reports, and I'm hoping the Zoho team can address this in a future update. This limitation has been raised before and continues to be requested, but remains unresolved. The
        • Closing the Loop: Why Lookup Asymmetry is Harming Data Integrity in Creator

          TL;DR: Lookup fields allow users to add new related records inline via the "+" icon, but there's no equivalent ability to edit an existing related record without navigating away and losing form context. Adding a native "Edit" icon—with automatic User
        • filtering lookup field options based on information in another module.

          In our CRM system. We have the standard Accounts and Deals modules. We would like to introduce the ability to classify Accounts by Sector. Our desired functionality is to have a global list of all sectors that an Account can select, with the ability to
        • Service op locatie organiseren met Zoho FSM: waar lopen organisaties tegenaan?

          Bij organisaties met service teams op locatie merken we vaak dat de complexiteit niet zozeer in de planning zelf zit, maar in wat er rond die planning gebeurt. Denk aan opvolging na interventies, consistente servicerapporten, en het bijhouden van installaties
        • Introducing Assemblies and Kits in Zoho Inventory

          Hello customers, We’re excited to share a major revamp to Zoho Inventory that brings both clarity and flexibility to your inventory management experience! Presenting Assemblies and Kits We’re thrilled to introduce Assemblies and Kits, which replaces the
        • Does the ability exist to make tax on the customer profile mandatory?

          I am reaching out to inquire about the possibility of making the "Customer Tax" field mandatory when creating a new customer in Zoho. We want to ensure that all customers have their tax information recorded to maintain compliance with our internal processes.
        • email association with CRM

          Why is it 2024 (almost 2025) and Zoho has not figured out how to integrate email with CRM? It is so inconsistent at associating emails within CRM. I am an attorney. I have clients and work with other attorneys. Attorney John Doe is associated with multiple
        • Fix the speed

          It takes ages to load on every step even though my dataset is quite small.
        • Credit Note for Shipped and Fatoora pushed invoices

          We have shipped a Sales Order and created an Invoice. The Invoice is also pushed to Fatoora Now we need to create a credit note for the invoice When we try it, it says we need to create a Sales Return in the Zoho Books, we have already created a Sales
        • FSM - Timesheet entires for Internal Work

          Hi FSM Team, Several of my clients have asked how they can manage internal timesheets within Zoho FSM. Since their technicians already spend most of their day working in FSM, it would be ideal if they could log all working hours directly in the FSM app.
        • Add a way of clearing fields values in Flow actions

          It would be great if there was an option to set a field as Null when creating flows. I had an instance today where I just wanted to clear a long integer field in the CRM based on an action in Projects but I had to write a custom function. It would be
        • Role Management

          I am creating an analytics dashboard for a company that will be utilized by its various departments such as Finance, Marketing, and HR. My goal is to design the dashboard with separate tabs for each department. Additionally, I plan to implement role-based
        • Highlight a candidate who is "off limits"

          Hello: Is there a way to highlight a candidate who is "off limits"?  I would like to have the ability to make certain candidate and / or Client records highlighted in RED or something like that.   This would be used for example when we may have placed a candidate somewhere and we want everyone in our company to quickly and easily see that they are off limits.  The same would apply when we want to put a client or former client off limits so no one recruits out of there. How can this be done? Cheers,
        • Announcing new features in Trident for Windows (v.1.37.5.0)

          Hello Community! Trident for Windows just received a major update, with a range of capabilities that strengthen email security and enhance communication. This update focuses on making your mailbox safer and your overall email experience more reliable.
        • Early Payment Discount customize Text

          Hi, I’m currently using Zoho Books and am trying to customize the standard “Early Payment Discount” message that appears in the PDF invoice template. I’ve reviewed the documentation here: https://www.zoho.com/books/help/invoice/early-payment-discount.html
        • Deprecation of SMS-based multi-factor authentication (MFA) mode

          Overview of SMS-based OTP MFA mode The SMS-based OTP MFA method involves the delivery of a one-time password to a user's mobile phone via SMS. The user receives the OTP on their mobile phone and enters it to sign into their account. SMS-based OTPs offer
        • Zoho Sheet - Desktop App or Offline

          Since Zoho Docs is now available as a desktop app and offline, when is a realistic ETA for Sheet to have the same functionality?I am surprised this was not laucned at the same time as Docs.
        • DKIM Now Mandatory - Changes to Zoho Forms Email Policies

          Hello Zoho Forms Users, This post is to inform you about an important update regarding the authentication of all email domains in your Zoho Forms account. This year, we are doubling down on our commitment to deliver a secure, seamless, and empowering
        • Next Page