# Functions

Functions are scripts that can be executed at various places such as triggers, scheduler tasks, or using the API requests. If you don't have any cloud provider in place, you can still upload code functions using our dashboard.

## Adding provider functions

You can add functions from external providers. More about that check the link below.

{% content-ref url="/pages/-LxLDpXXbEzouv\_aZxkt" %}
[Integrations](/dashboard/code/integrations.md)
{% endcontent-ref %}

## Adding custom functions

You can create and upload your own custom function to CodeMash. To do so navigate to the functions list and from there press **Add New** button. From the opened page select to add custom function.

To add a custom function you will have to create a function externally and then upload a zipped function during function creation. Below are the links to pages for each available runtime.

{% content-ref url="/pages/-Lyf7b-tNKpaPJr8jaAy" %}
[Node.js](/dashboard/code/functions/function-templates/node.js.md)
{% endcontent-ref %}

{% content-ref url="/pages/-Lyf7aNV5DvxdGy\_OHMJ" %}
[Python](/dashboard/code/functions/function-templates/python.md)
{% endcontent-ref %}

{% content-ref url="/pages/-Lyf7a2s4aUaBgroFi6k" %}
[Ruby](/dashboard/code/functions/function-templates/ruby.md)
{% endcontent-ref %}

{% content-ref url="/pages/-Lyf7\_hV2EFBCbGRMw3g" %}
[Java](/dashboard/code/functions/function-templates/java.md)
{% endcontent-ref %}

{% content-ref url="/pages/-Lyf8S6T3g7IUPKjBFsy" %}
[Go](/dashboard/code/functions/function-templates/go.md)
{% endcontent-ref %}

{% content-ref url="/pages/-Lyf3NnOgZrTEWgghlGk" %}
[.NET Core](/dashboard/code/functions/function-templates/.net-core.md)
{% endcontent-ref %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.codemash.io/dashboard/code/functions.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
