Manage Function Metadata TOML Files

Each function must provide a project.toml TOML file that contains metadata for your function, such as a description for the function. This file is in your <project root>/functions/<function name> directory. The generate:function command automatically creates a template project.toml file in the appropriate directory with some basic information.

The schema for the fields in project.toml follows the schema for the Cloud Native Buildpacks project descriptor, but extended with a Salesforce-specific section and fields. Sections from the Cloud Native Buildpacks project descriptor are namespaced using "_" in place of "project", so [project] becomes [_], project.licensesbecomes_.licenses, metadatabecomes_.metadata, and so on.

For Salesforce Functions, the following tables and fields are relevant:

TOML fieldTOML sectionField valueExample value
schema-version[_]The project descriptor schema version. For your functions this field is set to "0.2""0.2"
schema-version[com.salesforce]The schema version for the com.salesforce section. This field is set to "0.1""0.1"
id[com.salesforce]The ID for the function. Must be all lowercase or numeric characters, start with a letter, and have a maximum length of 30 characters"myfunctionid"
description[com.salesforce]The description for the function. Optional"Tax calculation function for Billing project"
type[com.salesforce]The project type. For your functions this field is always "function""function"
salesforce-api-version[com.salesforce]The Salesforce API version for the function. When you create your function this field is set to the latest Salesforce API version by default. Versions 53.0 and later are supported."57.0"

The following is an example project.toml for a function:

For details on the general TOML file format, see toml.io.

For an example of a function that uses custom buildpacks, see Use Custom Buildpacks.