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                                                                                                                                                                                                                                                                                                                                   
    • Recent Topics

    • Zoho removed ability to see all Scheduled Reports!

      If you are not the owner of a scheduled report, Zoho recently removed the capability to see each scheduled report. As an admin who relies on seeing all scheduled reports being sent, this is a terrible update. Now I cannot see ANY scheduled reports...even the ones I am being sent!!  This should be a setting for admins to control.  This is a bad update.
    • Please can the open tasks be shown in each customer account at the top.

      Hi there This has happened before, where the open tasks are no longer visible at the top of the page for each customer in the CRM. They have gone missing previously and were reinstated when I asked so I think it's just after an update that this feature
    • Automate Backups

      This is a feature request. Consider adding an auto backup feature. Where when you turn it on, it will auto backup on the 15-day schedule. For additional consideration, allow for the export of module data via API calls. Thank you for your consideration.
    • GCLID and Zoho Bookings

      Is there anyway to embed a Zoho Bookings signup on a landing page and pass the GCLID information? More specifically, can this be done using auto-tagging and not manual tagging the GCLID? I know Zappier has an integration to do this but is there a better
    • Merge Items

      Is there a work around for merging items? We currently have three names for one item, all have had a transaction associated so there is no deleting (just deactivating, which doesn't really help. It still appears so people are continuing to use it). I also can't assign inventory tracking to items used in past transactions, which I don't understand, this is an important feature moving forward.. It would be nice to merge into one item and be able to track inventory. Let me know if this is possible.
    • Create PO from an invoice

      We are a hardware and software sales company which receives orders over the internet. We drop ship most of our products from a warehouse outside of our company. Our orders get sync'd into Zoho from our store via onesaas as invoices. It would be great
    • Blueprint or Validation Rules for Invoices in Zoho Books

      Can I implement Blueprint or Validation Rules for Invoices in Zoho Books? Example, use case could be, Agent confirms from client that payment is done, but bank only syncs transactions tomorrow. in this case, Agent can update invoice status to done, and
    • Resetting auto-number on new year

      Hi everyone! We have an auto-number with prefix "D{YYYY}-", it generates numbers like D2025-1, D2025-2, etc... How can we have it auto-reset at the beginning of the next year, so that it goes to D2026-1? Thanks!
    • Delivery and handling of documents e-stamped using Zoho Sign

      Hello everyone! Zoho Sign makes it easy to pay non judicial stamp duty online and automatically attach the digitally generated e-stamp challan to electronic documents. We also manage the delivery of physical e-stamped papers. We periodically receive these
    • The Social Wall: December 2025

      Hello everyone! As we wrap up the final edition of the Social Wall for 2025, it’s the perfect time to look at what went live during December. QR code generator From paying for coffee to scanning metro tickets, QR codes are everywhere and have made everyday
    • Custom AI solutions with QuickML for Zoho CRM

      Hello everyone, Earlier, we introduced Custom AI Solutions in CRM that let you access QuickML for your custom AI needs. Building on that foundation, we’ve now enabled a deeper integration: QuickML models can be seamlessly integrated into CRM, and surface
    • Helper Functions and DRY principle

      Hello everyone, I believe Deluge should be able to use 'Helper functions' inside the main function. I know I can create different standalones, but this is not helpful and confusing. I don't want 10000 different standalones, and I dont want to have to
    • Add specific field value to URL

      Hi Everyone. I have the following code which is set to run from a subform when the user selects a value from a lookup field "Plant_Key" the URL opens a report but i want the report to be filtered on the matching field/value. so in the report there is
    • Introducing workflow automation for the Products module

      Greetings, I hope all of you are doing well. We're happy to announce a few recent enhancements we've made to Bigin's Products module. The Products module in Bigin now supports Workflows, enabling you to automate routine actions. Along with this update,
    • Power up your Kiosk Studio with Real-Time Data Capture, Client Scripts & More!

      Hello Everyone, We’re thrilled to announce a powerful set of enhancements to Kiosk Studio in Zoho CRM. These new updates give you more flexibility, faster record handling, and real-time data capture, making your Kiosk flows smarter and more efficient
    • Zia Formula Expression Generator for Formula fields

      Hello everyone! Formula fields are super useful when you want your CRM to calculate things for you but writing the expression is where most people slow down. You know what you want, but you’re not fully sure which function to use, how the syntax should
    • Where is the settings option in zoho writer?

      hi, my zoho writer on windows has menu fonts too large. where do i find the settings to change this option? my screen resolution is correct and other apps/softwares in windows have no issues. regards
    • CRM project association via deluge

      I have created a workflow in my Zoho CRM for closing a deal. Part of this workflow leverages a deluge script to create a project for our delivery team. Creating the project works great however, after or during the project creation, I would like to associate
    • Issue with Zoho Creator Form Full-Screen View in CRM Related List Integration

      Hi Team, We have created a custom application in Zoho Creator and integrated it into Zoho CRM as a related list under the Vendor module, which we have renamed as Consignors. Within the Creator application, there is a form named “Pickup Request.” Inside
    • Wrapping up 2025 on a high note: CRM Release Highlights of the year

      Dear Customers, 2025 was an eventful year for us at Zoho CRM. We’ve had releases of all sizes and impact, and we are excited to look back, break it down, and rediscover them with you! Before we rewind—we’d like to take a minute and sincerely thank you
    • Directly Edit, Filter, and Sort Subforms on the Details Page

      Hello everyone, As you know, subforms allow you to associate multiple line items with a single record, greatly enhancing your data organization. For example, a sales order subform neatly lists all products, their quantities, amounts, and other relevant
    • Customer Parent Account or Sub-Customer Account

      Some of clients as they have 50 to 300 branches, they required separate account statement with outlet name and number; which means we have to open new account for each branch individually. However, the main issue is that, when they make a payment, they
    • Drop Down Value

      Hi, May I know why Zoho Flow treat this drop down as number and not as string. If so, how can I fetch the right value for filtering. This field is from Creator, in Creator upon checking by default it is a string since it's not a lookup field.
    • Projects custom colors replaced by default orange

      Since yesterday, projects uploaded to Zoho, to which I had assigned a custom color, have lost the customization and reverted to the default color (orange). Has anyone else had the same problem? If so, how did you resolve it?
    • How to manage task lists in Zoho Desk?

      Hello, I use Zoho Desk for IT customer support. I have a list of standard operating procedures (SOPs), including SOPs for onboarding new users, offboarding users, losing a device, etc. These are lists of tasks to be performed depending on the situation.
    • Creating a Chart from a Report

      In Zoho Analytics, is it possible to create a chart from a Pivot View report? We are looking to use Zoho Analytics to replace Excel for Sales reports and would like to be able to show both the table and the chart together.
    • Restrict Users access to login into CRM?

      I’m wanting my employees to be able to utilize the Zoho CRM Lookup field within Zoho Forms. For them to use lookup field in Zoho Forms it is my understanding that they need to be licensed for Forms and the CRM. However, I don’t want them to be able to
    • Introducing Connected Records to bring business context to every aspect of your work in Zoho CRM for Everyone

      Hello Everyone, We are excited to unveil phase one of a powerful enhancement to CRM for Everyone - Connected Records, available only in CRM's Nextgen UI. With CRM for Everyone, businesses can onboard all customer-facing teams onto the CRM platform to
    • Unknown table or alias 'A1'

      I would like to create a subquery but i am getting the following error: Unknown table or alias 'A1' used in select query. This is the sql statement:  SELECT A1.active_paying_customers, A1.active_trial_customers, A1.new_paying_signup, date(A1.date_active_customers), 
    • in the Zoho creator i have address field based the customer lookup im selecting the addresss , some times the customer address getting as null i want to show as blank

      in the Zoho creator i have address field based the customer lookup im selecting the addresss , some times the customer address getting as null ,i want to show as blank instead of showing null. input.Billing_Address.address_line_1 = ifNUll(input.Customers_Name.Address.address_line_1,"");
    • Question about upgrade and storage space Zoho Notebook

      After upgarding my Zoho Notebook plan, I am running into the following issue. I just upgraded from a free Zoho Notebook subscription to Pro Lite after I got a notification in my Window Zoho Notebook desktop app saying that I had run out of space. However,
    • how to add email to existing organization i w

      I am already registered my organization and i have an email id. I need one more email id but i can't find anywhere .i want the cheapest email id . how to add ?
    • add zoho account

      How to add a zoho mail to previous zoho account? I have two
    • Name changed in settings for mailbox but still not changed when typed in To field

      In the email account secretary@ i have updaetd the new staff members details but the old members name still appears when I type secretary@ in the To field. I cant work out where Zoho is finding the old name from. I have deleted the browser cache. If I
    • Printing to a brother label maker

      I see allot of really old unanswered posts asking how to print to a label maker from a zoho creator app. Has their been any progress on providing the capability to create a customized height & width page or print template or whatever to print labels?
    • Sync desktop folders instantly with WorkDrive TrueSync (Beta)

      Keeping your important files backed up and accessible has never been easier! With WorkDrive desktop app (TrueSync), you can now automatically sync specific desktop folders to WorkDrive Web, ensuring seamless, real-time updates across devices. Important:
    • Track online, in-office, and client location meetings separately with the new meeting venue option

      Hello everyone! We’re excited to announce meeting enhancements in Zoho CRM that bring more clarity and structure to how meetings are categorized. You can now specify the meeting venue to clearly indicate whether a meeting is being held online, at the
    • Calling the new 'Custom API' feature from within a Custom Widget

      From what I've learned it is not possible to call an endpoint from the new "Custom API" feature within a Creator Widget. The SDK's doesn't support it yet, when calling it natively you end up with CORS issues or at least I couldn't get it working even
    • Announcing new features in Trident for Mac (1.32.0)

      Hello everyone! We’re excited to introduce the latest updates to Trident, which are designed to reinforce email security and protect your inbox from evolving threats. Let’s take a quick look at what’s new. Deliver quarantined emails. Organization admins
    • Marketing Tip #5: Improve store speed with optimized images

      Slow-loading websites can turn visitors away. One of the biggest culprits? Large, uncompressed images. By optimizing your images, your store loads faster and creates a smoother shopping experience leading to higher sales. It also indirectly improves SEO.
    • Next Page