# Understanding usage: Recipe functions
Recipe functions and callable recipes (deprecated) dynamically inherit their usage type from the calling recipe during runtime.
# Usage calculation rules
Recipe functions follow the general usage calculation rules and the usage calculation rules of their parent recipe:
Workflow recipe calls: When a workflow recipe invokes a recipe function, the child recipe function is classified as a workflow recipe, and contributes to Business actions.
API recipe calls: When an API recipe invokes a recipe function, the child recipe's usage calculation can vary based on whether the child recipe is called synchronously or asynchronously.
- Synchronous: If an API recipe calls a recipe function synchronously, the child recipe is treated as a continuation of the original API recipe. It doesn't contribute to additional API calls or Business actions.
- Asynchronous: If an API recipe calls a recipe function asynchronously, the child recipe function is treated as a workflow recipe and contributes to Business actions.
Refer to workflow recipe and API recipe calculation rules for more information.
# Usage counting
The total usage of a recipe function job is the sum of all usage in the recipe function. Similar to workflow or API recipes, if a recipe function involves IDP (Intelligent Document Processing) or Event streams capabilities, Pages processed or Events processed is calculated in addition to its primary usage metric.
# Examples
The following examples demonstrate how Workato calculates usage for recipe functions in different scenarios.
# Workflow recipe calls a function recipe
# Usage totals
- Parent recipe:
- Business actions: 5
- Child recipe:
- Business actions: 3
- Total usage per job: 8 Business actions
# Recipe function called synchronously from an API recipe
# Usage totals
- Parent API recipe:
- API calls: 1
- Business actions: 0
- Child recipe function called synchronously:
- API calls: 0
- Business actions: 0
- Total usage per job: 1 API call
# Recipe function called asynchronously from an API recipe
# Usage totals
- Parent API recipe:
- API calls: 1
- Business actions: 0
- Child recipe function called asynchronously:
- API calls: 0
- Business actions: 8
- Total usage per job: 1 API call, 8 Business actions
Last updated: 8/13/2025, 6:16:33 PM