> For the complete documentation index, see [llms.txt](https://docs.codemash.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.codemash.io/dashboard/code/functions.md).

# 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
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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.
