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 field
TOML section
Field value
Example 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:
1[_]2schema-version = "0.2"34[com.salesforce]5schema-version = "0.1"6id = "taxfunction"7description = "Tax calculation function for Billing project"8type = "function"9salesforce-api-version = "57.0"
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.
Product Retirement Announcement
Salesforce Functions is no longer available for purchase or renewal. To preserve the capabilities that Salesforce Functions provided to your org, deploy an alternative solution before your existing order term ends. See Salesforce Functions Retirement for more information on migrating your functions. Contact your Salesforce Account Executive for more information on Heroku.