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

    • 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.
    • Overlapping Reports in Dashboards

      It's rare, but occasionally it would be a good feature if I were able to overlap reports, either fully or partially in the Dashboards. Also, then having the ability to move objects to the front or rear, or make them transparent/translucent would be good
    • 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
    • [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
    • Easier onboarding for new users with stage descriptions

      Greetings, I hope all of you are doing well. We're happy to announce a recent enhancement we've made to Bigin. You can now add descriptions to the stages in your pipeline. Previously, when creating a pipeline, you could only add stages. With this update,
    • Pieds de page personnalisé - Document Zoho Writer

      Bonjour à tous, Je rencontre un souci avec l’ajout d’un pied de page personnalisé dans un document Zoho Writer. Je souhaite insérer les informations de mon entreprise (notamment un logo + adresse) dans le pied de page. Le problème, c’est que lorsque j’ajoute
    • Permissions on Views

      Having the option of any agent creating custom views is firing back and got a situation where there are a hundred different views across the team and tickets are not being dealt in the most efficient of ways. Tickets seems to be missed by some agents,
    • Credit card transactions are backwards after importing statements

      I am new to Zoho Books so I'm importing my firm's bank and credit card statements in. My credit card statements have a single column with negative numbers so that is the option I chose. But when I went to categorize the credit card transactions, I can
    • import data from Apollo.ai into zoho crm via zoho flow

      I might be asking this question in the wrong forum. We use Apollo.ai to find potential new leads for our business, there are around 10000 leads that we have initially found. We have an Apollo.ai account but just to do searches, we dont use it as a crm.
    • Knowledgebase SEO

      We have a custom-domain mapped help center that is not restricted via login. I have some questions: a) will a robots.txt file still allow us to control indexing? b) do we have the ability to edit the sitemap? c) do category URLs get indexed by search
    • VIsual maindmaps in Zoho notebook Ai

      Can I create and export VIsual maindmaps in Zoho notebook Ai
    • 1stDibs Integration to Zoho Inventory

      Hello is it possible to integrate my Zoho inventory and 1stDibs?
    • Community Question: Renewal vs Invoicing

      This is a question for the community. Does anyone else consider there to be a difference between a subscription renewal event and sending out a recurring invoice for a subscription? For example, let's say customer XYZ purchases a 1-year subscription to
    • cloud console support for music websites

      Hi Friends, I am not from a very technical background.. So need support from the Zoho family. I want to build a e-commerce website which is in Musical Niche. It will help people learn music & play instruments of all types. There are a few players in the market like Chordify , Guitaa, Guitar Dashboard, ChordU & few others. But I all these websites allow only a few instruments  to play. So I want to build a better  website than the one I mentioned. So wnated to know what UI & AI should I use so that
    • Scheduled Reports - Do not send empty report

      Hello, We are intensively using reports in the CRM, especially for sales managers. When data is empty, they still receive an email. Can you add an option to avoid sending the report when data is empty?
    • Is Zoho One Desktop more secure than Zoho One Web SaaS?

      Is Zoho One Desktop more secure than using Zoho One in browser? Inherently, it seems desktop would be unless you don't do things like share your pw or leave pc on. I am concerned about data being on the cloud or someone else's server and database.
    • Reminder Settings - Time Tracker

      On the time tracker in Reminder Settings I created a reminder according to the Zoho manual. But a manager asked me to change the message that goes in the email. Is it possible to change the message? I didn't find that in the Zoho manual. Another question: I configured to receive the reminder everyone who logged in less than 40 hours. Does Zoho consider less than 40 hours of the current week or the whole month? Another situation, I put it so that I and another specific user would receive the notification,
    • Create Item group from a composite Item

      I have applied my mind for hours but cannot figure this out. Can you have a composite item in an item group?. E.g. We bundle different color and size SKU's together as composite items. Also Using composite items as Bill of Materials. We want to create
    • Main difference of Zoho Recruit Corporte version and Staffing HR vesion

      Hi Zoho, I need help to fully understand what is the main key point differences of Recruit Corporate version versus the Staffing HR version? We are currently using Corporate HR version and we are looking on having an insightful automated reporting, does
    • Out of Stock items showing in Commerce

      I have over 6000 items and most are not in stock, but all items are showing up in Commerce whether they are inventory or not. What option or feature can you use to hide items in Commerce at zero or negative quantities? I currently am using Commerce for
    • Is it possible to transfer data from one related list to another within the same module ?

      In the Leads module, there is an existing default Product related list that already contains data. Recently, I added a custom multi-lookup field, which created a new related list in the same Leads module. Now, I need to move the existing data from the
    • How to implement new online payment gateway?

      Hello, Can you tell me how to proceed to implement my local payment gateway? DIBS has an open avaiable API that should be easy to implement into ZOHO BOOKS. http://tech.dibspayment.com/dibs_payment_window
    • Formula working in MS Excel , is not working in Zoho Sheets, Filter fuction which is working in MS sheets per the attached workbook / Daily update.

      Filter function , which is working in MS Excel is not working in Zoho sheets. Please help on function of filter of particular class sheets and extract students name who has more than 3.5 hours of study hours on particular day depending on date in D7 cell.
    • New in Smart Prompt: Record Assistant for contextual assistance, and support for new AI models

      Smart Prompt helps teams stay informed and move faster by providing relevant suggestions where work happens in CRM. With this update, Smart Prompt becomes more adaptable to your organization’s AI preferences. You can now choose which Large Language Model
    • Improved Integration Failure Information (And Notification Options)

      Hi, When an attachment service for example fails, you just get "Field x - Error", I can check the field it is failing on and find nothing wrong, same file size, type, dimensions, etc. so more information as to the actual issue would be helpful. And an
    • Create static subforms in Zoho CRM: streamline data entry with pre-defined values

      Last modified on (9 July, 2025): This feature was available in early access and is currently being rolled out to customers in phases. Currently available for users in the the AU, CA, and SA DCs. It will be enabled for the remaining DCs in the next couple
    • Next Page