# AI Assistant

### Introduction

The **AI Assistant** in DataJet is designed to help you generate production-ready **Liquid code** from a simple prompt. Instead of starting from scratch, you can describe what you want to achieve, and the assistant will provide a code template that’s ready to deploy. This accelerates development, saves valuable time, and enables you to build advanced logic with just a few words.

#### What the AI Assistant can do

* **Deep Shopify GraphQL support** – all generated code relies on Shopify’s GraphQL API, ensuring performance and future-proof integration.
* **Full access to DataJet features** – the assistant can leverage everything DataJet offers, including:
  * connecting to FTP servers,
  * making HTTP requests to external APIs,
  * sending emails,
  * reading and writing to DataJet storeage and more
* **Tag-first approach** – wherever possible, it uses **tags instead of filters** (e.g., `{% http %}` instead of an `http` filter, `{% graphql %}` instead of a `graphql` filter). This ensures cleaner and more maintainable code.

#### Current limitations

* **Shopify REST API** – since REST was officially deprecated on **October 1, 2024**, all generated code exclusively uses GraphQL. [Read more](https://shopify.dev/docs/api/admin-rest).
* It does not create logic for Shopify Functions
* It will always use Shopify's most recent API version (currently 2025-10)

***

### Usage

Using the AI Assistant is simple: just **describe your task** in the prompt field, and you’ll get a generated code block tailored to your request. It might take up to 60 seconds to generate output.

{% hint style="info" %}
✨ The model is continuously learning – it’s retrained daily, so you can expect steady improvements and more accurate outputs over time.
{% endhint %}

Here are some examples of prompts that should be handled gracefully by our model:

* Unpublish a product with sku: SKU-123 from sales channel called: "Online Store"
* Iterate over all products in the store. Set metafield for each product: namespace: seo, key: hidden, value: 0, type: number\_integer
* Create an automatic discount that offers $50.00 off on all orders over $200.00
* Add tag to product with sku: TEST-PRODUCT. Tag name: "test-tag"
* Publish all products with tag: release-today to sales channel called: "Online Store".
* Check total quantity of all customer items. If it is more than 100 then return a rate called: Oversized with a price: $100.00, otherwise return Regular rate of price: $10.00\`

***

### Error handling

Sometimes, the generated code might not pass DataJet’s **validation checks** on the first try. When this happens:

* You’ll still receive the generated code.
* Validation errors will be included as **inline comments** for easier debugging.
* You can either adjust the code manually or **submit a refined prompt** for another attempt.

And finally:

{% hint style="warning" %}
The AI is a **booster, not a replacement** — you should review and test generated code.
{% endhint %}
