# Built-in Functions

The basic built-in functions do not relate to bot functionality. Instead, they allow writing flexible scripts.

```javascript
setTimeout(function() {
  console.log("Timer has fired!");
}, 3000); 
```

# List of functions

| **Script Details** |
|----------------|
| [`process.name`](/doc/processname-l3sP2b77Gg) | Read-only property reflecting running script name. |
| [`process.release`](/doc/processrelease-xuThi9C7YT) | Read-only property reflecting the script release version (for store scripts). |
| **Program Flow** |
| [`process.exit`](/doc/processexit-7FSo183WGd) | Ends the execution of the program. |
| [`process.sleep`](/doc/processsleep-ZaLpG8DHXo) | Pauses a program execution. |
| [Timer control](/doc/timer-control-MzOgJA5pZe) | Standard timer control routines of JavaScript: setTimeout, setInterval etc. |
| **Persistent Bot Storage** |
| [`localStorage.get`](/doc/localstorageget-xjXZghWq0w) | Restores a string value from a persistent storage. |
| [`localStorage.set`](/doc/localstorageset-rq4ccsKlKG) | Puts a string value into a persistent storage. |
| [`localStorage.keys`](/doc/localstoragekeys-YisVQJwTI9) | Returns the list of the available keys in a persistent storage. |
| [`localStorage.on`](/doc/localstorageon-K7X860Bneq) | Adds the event callback on localStorage. |
| **User Settings** |
| [`userSettings.*`](/doc/usersettings-GYEnDXFoGg) | Allows accessing the settings specified by the script user. |
| **HTTP**       |
| [`http.get`](/doc/httpget-zTpJxTgWkF) | Retrieves data from a HTTP source. |
| [`http.post`](/doc/httppost-DLBhSCJpNS) | Retrieves data from a HTTP source using the POST method. |
| [`http.requestWebhook`](/doc/httprequestwebhook-CA0PVP4hOK) | Allocates a new, per-run webhook URL and token for the current script instance. |
| **Debug**      |
| [`console.log`](/doc/consolelog-lLoXQgfcTR) | Logs data to the runtime log. |
| [`console.warn`](/doc/consolewarn-5DOgfb5s45) | Logs data to the error log. |
| [`console.error`](/doc/consoleerror-Dcb62e0KML) | Logs data to the error log. |
| [`_assert`](/doc/_assert-Eujnd0b3yG) | Logs data to the error log if the assertion is false. |

---

**Documents**

- [Timer control](https://sb-docs-dev.getoutline.com/s/dev/doc/timer-control-MzOgJA5pZe)
- [_assert](https://sb-docs-dev.getoutline.com/s/dev/doc/_assert-Eujnd0b3yG)
- [console.error](https://sb-docs-dev.getoutline.com/s/dev/doc/consoleerror-Dcb62e0KML)
- [console.log](https://sb-docs-dev.getoutline.com/s/dev/doc/consolelog-lLoXQgfcTR)
- [console.warn](https://sb-docs-dev.getoutline.com/s/dev/doc/consolewarn-5DOgfb5s45)
- [http.get](https://sb-docs-dev.getoutline.com/s/dev/doc/httpget-zTpJxTgWkF)
- [http.post](https://sb-docs-dev.getoutline.com/s/dev/doc/httppost-DLBhSCJpNS)
- [http.patch](https://sb-docs-dev.getoutline.com/s/dev/doc/httppatch-nzEo5fFB1d)
- [http.requestWebhook](https://sb-docs-dev.getoutline.com/s/dev/doc/httprequestwebhook-CA0PVP4hOK)
- [localStorage.get](https://sb-docs-dev.getoutline.com/s/dev/doc/localstorageget-xjXZghWq0w)
- [localStorage.keys](https://sb-docs-dev.getoutline.com/s/dev/doc/localstoragekeys-YisVQJwTI9)
- [localStorage.on](https://sb-docs-dev.getoutline.com/s/dev/doc/localstorageon-K7X860Bneq)
- [localStorage.set](https://sb-docs-dev.getoutline.com/s/dev/doc/localstorageset-rq4ccsKlKG)
- [process.exit](https://sb-docs-dev.getoutline.com/s/dev/doc/processexit-7FSo183WGd)
- [process.name](https://sb-docs-dev.getoutline.com/s/dev/doc/processname-l3sP2b77Gg)
- [process.release](https://sb-docs-dev.getoutline.com/s/dev/doc/processrelease-xuThi9C7YT)
- [process.sleep](https://sb-docs-dev.getoutline.com/s/dev/doc/processsleep-ZaLpG8DHXo)
- [userSettings.*](https://sb-docs-dev.getoutline.com/s/dev/doc/usersettings-GYEnDXFoGg)