# Code

Code Steps enable users to add more traditional automation into Workflows. If you're looking for a way to recreate common behavior across coding languages, then the following steps likely hold your answer:

1. [**Run Code**](/actions/workflow-concepts/workflow-steps/logic-steps/code.md) -- apply custom Python or Javascript code to transform data or add complex logic
2. [**Call API** ](/actions/workflow-concepts/workflow-steps/logic-steps/api.md)-- make HTTP requests to external APIs and services
3. [**Format JSON**](/actions/workflow-concepts/workflow-steps/logic-steps/json.md) -- structure the output of your Workflow as valid JSON for easier consumption
4. [**Run SQL Query**](/actions/workflow-concepts/workflow-steps/logic-steps/sql-query.md) -- execute queries against your connected databases
5. [**Write Liquid Text**](/actions/workflow-concepts/workflow-steps/logic-steps/text.md) -- create text templates with dynamic variable substitution

Code Steps provide the flexibility and power needed to handle complex data transformations, integrate with external services, and implement custom logic that goes beyond what's possible with pre-built steps. Whether you need to parse complex data structures, perform mathematical calculations, or connect to specialized APIs, Code Steps give you the tools to accomplish these tasks within your workflows.

{% hint style="info" %}
Note: Code Steps are only available for Workflow applications. They are not available for Agents at this time.
{% endhint %}


---

# 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.airops.com/actions/workflow-concepts/workflow-steps/logic-steps.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.
