# Function workflow

Functions gives developers access to a complete range of fully managed Google Cloud Platform (GCP) services including analytics, authentication and Firebase/Firestore. Cloud Functions round out the GCP offering by providing a way to extend and connect the behavior of Firebase features through the addition of server-side code.

Firebase developers can easily integrate with external services for tasks like processing payments and sending SMS messages. Also, developers can include custom logic that is either too heavyweight for clients (mobile/web/desktop), or which needs to be secured on a server.

Function location: `/apps/full-stack-typescript-api/src/functions/{{feature name}}`

**Do** create a function when needing to securely interact with Firebase/Firestore

**Do** create a function when needing to access GCP services

**Do** create a function when a process needs to easily scale in resources

**Do** create a function when a process is too heavy for the client to handle

**Do** create a function when a process includes business logic

**Do** create a function when integrating with 3rd party services and APIs

**Do** create a function when using secrets and keys

**Do** create a function to perform database sanitization and maintenance

GCP Functions dashboard

<https://console.firebase.google.com/u/0/project/><mark style="color:red;">{{your project}}</mark>/functions
