---
title: Operations
slug: operations
description: Learn what operations are, how modules process data through bundles, and how to view them for debugging and optimization
image: https://archbee-image-uploads.s3.amazonaws.com/oAyFj2GHlBeBVWF5OAir2/ssYBMkzRuHZSoVBAsh0mi_1.png
docTags: 
createdAt: 2025-08-04T07:26:20.027Z
---

When you use features in Make, your activities result in operations. An operation is a module run to process or check data.&#x20;

In this guide to operations, learn what they are, how they work, and where to view them in Make so you can debug a scenarios or understand your [credit usage](docId\:hh-nrTakEqakBmg63UUiN).&#x20;

## What are operations?

An operation is a single module run to process data or check for new data.&#x20;

When you run a scenario, each module runs one or more times, resulting in 1 or more operations. A module's number of operations depends on the number of bundles it processes. For now, think of a bundle as a unit of data, like an email, contact, or file.&#x20;

**Examples**

- The **Gmail&#x20;**> **Send an Email&#x20;**&#x6D;odule sends 5 emails = 5 operations (one per email)
- The **Google Drive&#x20;**> **Upload File&#x20;**&#x6D;odule uploads 3 files = 3 operations (one per file)

The exception to this rule is [trigger modules](docId\:BkdEyuBelio6YvvCosRxJ), which only run once to check for or retrieve data, regardless of the number of bundles returned:

- The **Google Sheet&#x20;**> **Watch New Rows&#x20;**&#x6D;odule checks for new rows in a Google spreadsheet = 1 operation (one per check)

When you run a scenario, the checkmark icon (the first number) in the white bubbles above modules shows each module's operation count. The coin icon (the second number) shows the number of [credits](docId\:hh-nrTakEqakBmg63UUiN) consumed by those operations.&#x20;

::Image[]{src="https://api.archbee.com/api/optimize/Q31995ot4OZzZRNwsMBrJ-gFkNJUCJ7vyF-7v4dxHQV-20250724-113006.png" size="30" width="512" height="555" position="center" darkWidth="512" darkHeight="555" showCaption="false"}

:::hint{type="info"}
By default, the white bubble only shows operations. You can toggle on credits next to the scenario name.&#x20;
:::

## What are bundles?

When you click the white bubble above a module and expand an operation, you can view the bundles that the module processed.&#x20;

Bundles are containers of related data items, and data items are individual pieces of data. For example, when a module runs to add new contacts to a table, each contact is a bundle containing parameters such as name, last name, and email.&#x20;

::Image[]{src="https://api.archbee.com/api/optimize/Q31995ot4OZzZRNwsMBrJ-eEgAfsQC3w9e3ruh_vaJM-20250724-130544.png" size="40" width="704" height="706" position="center" darkWidth="704" darkHeight="706" showCaption="false"}

::embed[]{url="https://www.youtube.com/watch?v=AVkENE-gHFs"}

### Input and output bundles

An operation contains two types of bundles: input bundles and output bundles. An input bundle is the data a module receives, and an output bundle is the module's response data.&#x20;

In a scenario, the trigger module first retrieves bundles from an external source. The next module receives these bundles as input bundles. This module processes these bundles according to its function in the scenario, resulting in output bundles. This process repeats throughout the scenario.&#x20;

### How bundles relate to operations

An operation is a module run to process or check data, and a bundle is the processed data. Modules process each bundle separately, meaning each bundle triggers its own module run.&#x20;

For example, adding 5 contacts to a sheet requires 5 runs, resulting in 5 operations.&#x20;

Since each bundle requires a module run, bundles in earlier modules have a multiplying effect on the operations in the rest of the scenario:

1. A trigger module runs once to check for new data -> 1 operation
2. If the trigger module returns multiple bundles, the next modules run once for each bundle -> That many operations

:::ExpandableHeading
**Example**

A scenario watches for new responses to a Google Form, creates a document for each response, downloads it, and emails the document to each respondent. In the last scenario run, the trigger module, **Google Forms&#x20;**> **Watch Responses**, returned 10 new bundles (responses):

::Image[]{src="https://api.archbee.com/api/optimize/Q31995ot4OZzZRNwsMBrJ-kUOlraDfaxnJtbDnQDW08-20250812-140619.png" size="88" width="1695" height="516" position="center" darkWidth="1695" darkHeight="516" showCaption="false"}

The total operations used in this run:

- Trigger: 1 operation
- Other modules: 10 operations each (10 bundles per run)&#x20;

Total: 31 operations (1+30) for each scenario run
:::

:::hint{type="info"}
If you click **Stop** while a scenario is running, the module currently running must finish processing all of its bundles before the scenario stops. You can't stop the module before it processes all of the bundles.

**Example**
Your scenario has five modules. As the third module processes, you click **Stop**. Once third module finishes processing all the bundles, the scenario stops running. The fourth and fifth modules do not run.&#x20;
:::

## Where to view operations

Looking at your operations in detail is useful for debugging, understanding your credit usage, and monitoring your activities in Make.&#x20;

To view operations in a scenario:

- Click the white bubble above any module after running a scenario.&#x20;
- Expand individual operations to see their bundles processed.
- Expand bundles to see their data items.&#x20;

:::ExpandableHeading
**Example**

Your scenario starts with a **Google Sheets&#x20;**> **Watch New Rows** module that watches a spreadsheet for new contacts.&#x20;

After running the module, the white bubble shows one operation. When you expand the operation, you see 10 bundles, one for each contact returned. &#x20;

After expanding a bundle, you can see a contact's first and last name, email, city, and other details.&#x20;

::Image[]{src="https://api.archbee.com/api/optimize/Q31995ot4OZzZRNwsMBrJ-o9HAPOL6FAxd2Td9jdsj0-20250721-122143.png" size="60" width="801" height="693" position="center" showCaption="false"}

The next module, **Gmail&#x20;**>**&#x20;Send an Email**, sends 1 email to your company's sales manager for each new contact, including contact details. The module's white bubble shows 10 operations—one for each email sent.

::Image[]{src="https://api.archbee.com/api/optimize/Q31995ot4OZzZRNwsMBrJ-roA7dxdjtTz-DVz-3__xR-20250721-125941.png" size="60" width="821" height="379" position="center" showCaption="false"}

You return to this scenario run to look at its operations in detail. After finding and clicking the scenario in your scenario list, you navigate to its **History&#x20;**&#x74;ab. You locate the scenario run with 11 operations and click **Details**.

::Image[]{src="https://api.archbee.com/api/optimize/Q31995ot4OZzZRNwsMBrJ-aixyWzn-kYU-SFufKFLY--20250725-111932.png" size="94" width="1787" height="537" position="center" showCaption="false"}

In **Details**, you can view a simple and advanced history log of the scenario run. You click on th&#x65;**&#x20;Gmail&#x20;**>**&#x20;Send an email&#x20;**&#x6D;odule's white bubble to learn more about its 10 operations. You can see that each operation is an email for a contact.&#x20;

::Image[]{src="https://api.archbee.com/api/optimize/Q31995ot4OZzZRNwsMBrJ-5CW8MytVvyH0LH0qtWPii-20250725-112837.png" size="60" width="1100" height="971" position="center" showCaption="false"}

After reviewing this scenario, you decide to optimize it so that it sends a single email with all new contacts in the body, instead of sending 10 separate emails (one for each new contact). To do this, you add a **Text aggregator** to combine all new contacts. This adjustment reduces total operations for this run from 11 to 3.

::Image[]{src="https://api.archbee.com/api/optimize/Q31995ot4OZzZRNwsMBrJ-iiNUkK1fJSBkGKKiBCe_Q-20250825-093838.png" size="60" width="985" height="355" position="center" showCaption="false"}
:::

