# Functions



Functions are special types of workflows that can be, themselves, used as a workflow step. You can think of them as the Gravity equivalent of a `function` in code.

![](https://mindcloud.imgix.net/docs/document360/eff1aa24e4e4-image-86_1778245957903.octet-stream "image(86).png")

Functions are essentially the same as workflows, with the primary differences being:

- Instead of triggers, you have workflow inputs
- Functions can be called from other workflows.

### Function Inputs

Function inputs act as arguments that can be passed into the function when being called.

![](https://mindcloud.imgix.net/docs/document360/4b962e3dc523-image-87_1778245969970.octet-stream "image(87).png")

Each input can also have a test value for use when developing the Function:

![](https://mindcloud.imgix.net/docs/document360/0c5c80bb5f98-image-199_1778245969975.octet-stream)

You can create as many inputs as you need, using all standard data types.

![](https://mindcloud.imgix.net/docs/document360/7e6528cec388-image-88_1778245969979.octet-stream "image(88).png")

### Accessing Function Inputs

Function inputs can be accessed the same as all other data points within the function itself:

![](https://mindcloud.imgix.net/docs/document360/403a8ec9f2d8-image-89_1778245969983.octet-stream "image(89).png")

### Using Functions Within a Workflow

Within a workflow, any function that you have saved will be available as an app:

![](https://mindcloud.imgix.net/docs/document360/7a856af6cf6e-image-90_1778245982340.octet-stream "image(90).png")

Any function inputs you’ve configured will then be available within the Config of the step.