# Code

A **Code** input is great for when you need to give the user flexibility to write elaborate pieces of code. This could be things like complex ESP code that wouldn't otherwise be able to be made flexible enough with Selects and Text Strings. It's important to stress caution of implementing these types of inputs as it can defeat the purpose of having a Drag\&Drop editor in the first place.

Works great for:

* Complex ESP code
* Code Blocks

### Template Editor

When creating a new **Code** input, you will be able to insert some default code along with any Hints you may want to inform the user about.&#x20;

<div align="left"><figure><img src="/files/TUYxGynlItywV9PEoPxO" alt=""><figcaption></figcaption></figure></div>

### Email Editor

<div align="left"><figure><img src="/files/yPCLW1UL3HN77mgTwnYh" alt=""><figcaption><p>This is how it looks in the Email Editor</p></figcaption></figure></div>


---

# 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://documentation.alpaco.email/template/input-groups/input-types/code.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.
