# GraphQL Actions



In this guide, we'll explore the new GraphQL action experience. By following this, users using your created actions won't need to write GraphQL code and you, the builder, won't need to create an argument for each field.

### Example Actions

- Linear > List Teams
- Shopify > List Orders (Beta)

## How to create new actions?

### **Request Tab**

1. Create a new action and set the endpoint to the GraphQL one of the app you're building

![](https://mindcloud.imgix.net/docs/document360/7fd54c62ddcf-image-215_1778246067099.octet-stream)

### **Properties Tab**

1. In the properties tab, toggle `Is GraphQL?` and `Pagination Limit and Offset` to true

![](https://mindcloud.imgix.net/docs/document360/579b3b741964-image-216_1778246067103.octet-stream)

1. Set the **Record Root** to where we can find the data for that object you're selecting.

For example, if you are creating a List Orders action and this is the beginning of your query:

```
query () {
  orders() {
    pageInfo {
      hasNextPage
      endCursor
    }
    nodes {
      id
      legacyResourceId
      name
      createdAt
```

You should the Record Root value to **orders.nodes**. This will be used to extract the fields to show in the UI.

1. Set the **Query Action** to another action in your app that is a blank query route, it should have a `query` argument and the endpoint should be the GraphQL one of your app.

### Arguments tab

1. Create a **query** argument, data type should be string and hidden

![](https://mindcloud.imgix.net/docs/document360/a2806bcbc8d4-image-218_1778246067105.octet-stream)

1. Create a **columns** argument, data type should be string and set the component in the Advanced section to **GraphQlColumnSelector**

![](https://mindcloud.imgix.net/docs/document360/720b17c2a886-image-219_1778246067107.octet-stream)

### App-level Configuration

1. Enable Pagination Limit and Offset and set it to these values

![](https://mindcloud.imgix.net/docs/document360/5d6b7888af3e-image-222_1778246078764.octet-stream)

![](https://mindcloud.imgix.net/docs/document360/9e5a670c86be-image-221_1778246078768.octet-stream)

1. Configure Response Mapper following Linear's example for:

   1. Error Detection
   2. Data Extraction
   3. Code