### Mutation
Use this mutation to import templates along with their items, tags, and linked templates.

```graphql
mutation ImportTemplates($templates: [CreateTemplate!]!) {
  importTemplates(templates: $templates) {
    host
    templateid
    message
    error {
      message
      code
      data
    }
  }
}
```

### Variables
This sample data is based on the `BT_DEVICE_TRACKER` template from `src/testdata/templates/zbx_default_templates_vcr.yaml`.

```json
{
  "templates": [
    {
      "uuid": "27474f627cb344b782a81c16d7e0c7d1",
      "host": "BT_DEVICE_TRACKER",
      "name": "BT_DEVICE_TRACKER",
      "groupNames": ["Templates/Roadwork/Devices"],
      "templates": [
        { "name": "ROADWORK_DEVICE" }
      ],
      "tags": [
        { "tag": "class", "value": "roadwork" },
        { "tag": "deviceType", "value": "bt_device_tracker_generic" }
      ],
      "items": [
        {
          "uuid": "d4d3ec9f3ca940a39a721b6cfd2f3471",
          "name": "location",
          "type": 18,
          "key": "location",
          "value_type": 4,
          "history": "2d",
          "preprocessing": [
            {
              "type": 21,
              "params": [
                "var obj=JSON.parse(value);\n\nif (obj[\"isFiltered\"]) {\n  throw \"Result is filtered\";\n  return \"filtered\";\n}\n\nreturn value;"
              ]
            },
            {
              "type": 15,
              "params": ["filtered"],
              "error_handler": 1
            }
          ],
          "master_item": {
            "key": "mqtt.get[\"tcp://mqtt-broker:1883\",\"deviceValue/location\"]"
          }
        },
        {
          "uuid": "380c4a7d752848cba3b5a59a0f9b13c0",
          "name": "MQTT_LOCATION",
          "type": 0,
          "key": "mqtt.get[\"tcp://mqtt-broker:1883\",\"deviceValue/location\"]",
          "value_type": 4,
          "history": "0"
        }
      ]
    }
  ]
}
```

### Mapping Reference
When converting from Zabbix YAML/XML exports, use the following numeric mappings for items and preprocessing:

#### Item Type (`type`)
- `0`: ZABBIX_AGENT
- `2`: ZABBIX_TRAP (TRAP)
- `18`: DEPENDANT_ITEM (DEPENDENT)
- `21`: SIMULATOR_JAVASCRIPT (JAVASCRIPT)

#### Value Type (`value_type`)
- `0`: Float
- `3`: Int (Numeric unsigned)
- `4`: Text

#### Preprocessing Type (`type`)
- `12`: JSONPATH
- `15`: NOT_MATCHES_REGEX
- `21`: JAVASCRIPT

#### Error Handler (`error_handler`)
- `1`: DISCARD_VALUE
- `2`: SET_VALUE
- `3`: SET_ERROR
