Skip to content
This repository has been archived by the owner on Oct 2, 2023. It is now read-only.

Latest commit

 

History

History
133 lines (88 loc) · 5.4 KB

README.md

File metadata and controls

133 lines (88 loc) · 5.4 KB

Functions Recipes

Warning As per the Salesforce Functions Retirement announcement, this repository is now archived.

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:

    sf org assign permset -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