Skip to content

Functions Recipes is a library of examples to help you getting started with Salesforce Functions and get used to their main features.

License

Notifications You must be signed in to change notification settings

ckailash30/functions-recipes

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Functions Recipes

CI Workflow codecov lerna

Functions Icon

Introduction

Salesforce Functions lets you use the Salesforce Platform for building event-driven, elastically scalable apps and experiences. Salesforce Functions is designed to boost developer productivity by reducing your infrastructure responsibilities and enabling you to build and integrate Functions-as-a-Service (FaaS) apps using the languages and tools of your choice.

Functions Recipes is a library of examples to help you getting started with Salesforce Functions and get used to their main features.

To learn more about Salesforce Functions please visit the documentation center.

Getting Started

You can use Functions both locally and deployed to a Salesforce Organization, if you don't have access to a Functions Enabled Org, you can still use the examples in this repository, please refer to the Local Development section for more information.

Prerequisites

Please refer to the Install Prerequisites for detailed information about the necessary tools to start developing Salesforce Functions.

Salesforce Org Setup and Deployment

For more information about how to configure your organization for Salesforce Functions, please refer to the documentation

Prerequisite: Functions Enabled Org

  1. If you haven't already done so, authorize with your org and provide it with an alias (fnrecipesorg in the command below):

    sf login org -d -v -a fnrecipesorg
  2. Clone the functions-recipes repository:

    git clone https://github.com/trailheadapps/functions-recipes
    cd functions-recipes
  3. Create a scratch org and provide it with an alias (functions_recipes in the command below):

    sf env create scratch -f config/project-scratch-def.json -a functions_recipes -d

Salesforce Functions Deployment

For more information about how to deploy Functions to a Compute Environment and connect it to an org, please refer to to the documentation

  1. Login to your Salesforce Functions account:

    sf login functions
  2. Create a Compute Environment to deploy the functions and connected it to your org:

    sf env create compute --connected-org=functions_recipes --alias=recipes_env
  3. Deploy the functions

    sf deploy functions --connected-org=functions_recipes
  4. Push source app to the scratch org:

    sf deploy metadata --ignore-conflicts
  5. Assign the FunctionsRecipes and Functions permission sets to the default user:

    sfdx force:user:permset:assign -n FunctionsRecipes,Functions
  6. Open the Functions Recipes App

    sf env open -p "/lightning/n/Functions"
  7. Activate the Functions Recipes Theme (Optional)

    sf env open -p "/lightning/setup/ThemingAndBranding/home"

Functions Recipes App

After deploying both the Salesforce app and the functions, you can open the Salesforce org and navigate to the Functions Recipes application:

From there you'll be able to explore the source code and invoke the deployed functions.

Screenshot

Local Development

Each individual function can be started and invoked locally using the Salesforce CLI, you can refer to each individual README for instructions on how to start and invoke each function locally.

For Local Development you can use any DevHub enabled org, just make sure to create the scratch org without the Functions feature enabled and avoid the Salesforce Functions Deployment steps.

Available Recipes

  1. Introduction to Functions
  2. InvocationEvent
  3. Context
  4. Logging
  5. Environment Variables
  6. Heroku Data

About

Functions Recipes is a library of examples to help you getting started with Salesforce Functions and get used to their main features.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 69.5%
  • Java 17.2%
  • HTML 7.8%
  • Apex 2.6%
  • CSS 2.0%
  • TypeScript 0.9%