# serverFunction

{% embed url="<https://youtu.be/9arAy_c2uI0>" %}

## Parameters

* functionName - the configured name of the function in App\_ServerSideFunction
* functionsParameters - (optional) json object with function parameters. The will be available in the function under body.parameters
* options - (optional) See examples. You can use the options to get the payload of the request or a postman example, instead of calling the function. Can be used to debug a function on your local machine

## Example Usages

### To call a function and get the response object

```javascript
let functionResponse = app.serverFunction("myFunction", {
  name: "Hallo",
});
console.log(functionResponse.functionResult);
```

### To get an example payload based on the current app state

```javascript
let functionResponse = app.serverFunction(
  "myFunction",
  {
    name: "Hallo",
  },
  {
    payload: true,
  }
);
console.log(functionResponse.functionResult);
```

### To get an example postman collection including the payload of the current app

```javascript
let functionResponse = app.serverFunction(
  "myFunction",
  {
    name: "Hallo",
  },
  {
    postman: true,
  }
);
console.log(functionResponse.functionResult);
```

### To change the default timeout (300 seconds)

```javascript
let functionResponse = app.serverFunction(
  "myFunction",
  {
    name: "Hallo",
  },
  {
    timeout: 500,
  }
);
console.log(functionResponse.functionResult);
```
