> ## Documentation Index
> Fetch the complete documentation index at: https://docs.firstresonance.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Action targets

> The entity types an action can watch, with their context query names and changes keys.

An action's `target` field names the entity type whose create, update, or delete events trigger the action. This page lists the targets grouped by domain, then maps each target to the singular query name you use in a context query and the key that entity's changes appear under. It covers commonly-used entities and is not exhaustive. For how targets fit into an action's other fields, see the [ION Actions overview](/automate-with-ion/ion-actions).

<Note>
  The target and field catalogs here reflect commonly-used entities. The authoritative, current list is what the Actions editor dropdown offers and what GraphiQL introspection returns in your environment.
</Note>

## Available targets

### Core manufacturing

| Target                       | Description                                   |
| ---------------------------- | --------------------------------------------- |
| `runs`                       | Work order / manufacturing run instances      |
| `run_steps`                  | Individual steps within a run                 |
| `run_steps_fields`           | Field values within run steps                 |
| `run_step_sessions`          | User check-in/check-out sessions on run steps |
| `run_step_field_validations` | Field validation configurations on run steps  |
| `run_batches`                | Batches grouping related runs                 |
| `run_steps_dags`             | Run step dependency graphs                    |

### Parts and inventory

| Target                 | Description                                     |
| ---------------------- | ----------------------------------------------- |
| `parts`                | Part/component definitions                      |
| `parts_inventory`      | Physical inventory records (serial/lot tracked) |
| `parts_kits`           | Kitting containers for parts                    |
| `part_kit_items`       | Line items within a part kit                    |
| `part_kit_inventories` | Inventory assigned to kit items                 |
| `part_subtypes`        | Custom part classification types                |
| `part_procedures`      | Links between parts and their procedures        |

### Procedures and steps

| Target                   | Description                         |
| ------------------------ | ----------------------------------- |
| `procedures`             | Manufacturing procedure definitions |
| `steps`                  | Steps within a procedure definition |
| `steps_fields`           | Field definitions within steps      |
| `steps_dags`             | Step dependency graphs              |
| `step_part_requirements` | Part requirements per step          |
| `step_field_validations` | Field validation actions on steps   |

### Bill of materials

| Target                                    | Description                                                   |
| ----------------------------------------- | ------------------------------------------------------------- |
| `mboms`                                   | Manufacturing Bills of Materials                              |
| `mbom_item`                               | Line items in an mBOM                                         |
| `mbom_item_reference_designators`         | Reference designators for mBOM items                          |
| `mbom_substitute`                         | Approved substitute parts for mBOM items                      |
| `build_requirements`                      | Requirements generated from mBOMs for runs                    |
| `build_requirement_reference_designators` | Reference designators on build requirements                   |
| `build_requirement_substitutes`           | Substitutes on build requirements                             |
| `abom_installations`                      | As-built installations (tracking what was actually installed) |

### Issues and quality

| Target                    | Description                             |
| ------------------------- | --------------------------------------- |
| `issues`                  | Non-conformance / quality issue records |
| `issue_disposition_types` | Types of issue dispositions             |
| `issue_part_inventories`  | Inventory linked to issues              |
| `further_actions`         | Follow-up actions on issues             |

### Procurement

| Target                 | Description                        |
| ---------------------- | ---------------------------------- |
| `purchase_orders`      | Purchase order headers             |
| `purchase_order_lines` | Line items on purchase orders      |
| `purchase_order_fees`  | Fees/charges on purchase orders    |
| `receipts`             | Receiving records                  |
| `receipt_items`        | Individual items received          |
| `suppliers`            | Vendor/supplier records            |
| `supplier_parts`       | Supplier-specific part information |

### Approvals

| Target                                                                  | Description                     |
| ----------------------------------------------------------------------- | ------------------------------- |
| `approval_levels`                                                       | Approval gate configurations    |
| `procedure_approvals` / `procedure_approval_requests`                   | Procedure review approvals      |
| `step_approvals` / `step_approval_requests`                             | Step-level approvals            |
| `step_role_based_approvals` / `step_role_based_approval_requests`       | Role-based step approvals       |
| `issue_approvals` / `issue_approval_requests`                           | Issue review approvals          |
| `purchase_order_approvals` / `purchase_order_approval_requests`         | PO approvals                    |
| `purchase_order_approval_levels`                                        | PO approval gate configurations |
| `mbom_approvals` / `mbom_approval_requests`                             | mBOM approvals                  |
| `redline_approvals` / `redline_approval_requests`                       | Redline approvals               |
| `redline_role_based_approvals` / `redline_role_based_approval_requests` | Role-based redline approvals    |
| `further_action_approvals` / `further_action_approval_requests`         | Further action approvals        |

### Redlines

| Target     | Description                            |
| ---------- | -------------------------------------- |
| `redlines` | In-process change records on run steps |

### Planning

| Target              | Description                         |
| ------------------- | ----------------------------------- |
| `plans`             | Production planning records         |
| `plan_items`        | Items within a plan                 |
| `plan_inputs`       | Input parameters for plans          |
| `plan_constraints`  | Constraints on plans                |
| `plan_reservations` | Inventory reservations for plans    |
| `mrp_jobs`          | Material Requirements Planning jobs |

### Locations and organization

| Target              | Description                                     |
| ------------------- | ----------------------------------------------- |
| `locations`         | Physical locations (buildings, rooms, stations) |
| `location_subtypes` | Custom location classifications                 |

### Users and teams

| Target              | Description                  |
| ------------------- | ---------------------------- |
| `users`             | User accounts                |
| `roles`             | Role definitions             |
| `teams`             | Team definitions             |
| `permission_groups` | Permission group assignments |

### Other entities

| Target                        | Description                     |
| ----------------------------- | ------------------------------- |
| `labels`                      | Tagging labels                  |
| `comments`                    | Comments on various entities    |
| `contacts`                    | Contact information records     |
| `currencies`                  | Currency definitions            |
| `units_of_measurements`       | Unit of measure definitions     |
| `requirements`                | Requirements tracking           |
| `entities_requirements`       | Entity-to-requirement links     |
| `reviews` / `review_requests` | Review workflow records         |
| `invites`                     | User invitations                |
| `intent_options`              | Intent/purpose classifications  |
| `validation_functions`        | Validation function definitions |
| `import_jobs`                 | Data import jobs                |

### Barcodes

| Target                                                      | Description            |
| ----------------------------------------------------------- | ---------------------- |
| `barcode_labels` / `barcode_patterns` / `barcode_templates` | Barcode configurations |
| `barcode_print_requests` / `barcode_scan_requests`          | Barcode operations     |

### Webhooks and notifications

| Target                                                                               | Description            |
| ------------------------------------------------------------------------------------ | ---------------------- |
| `webhook_events` / `webhook_headers` / `webhook_receivers` / `webhook_subscriptions` | Webhook configurations |
| `user_notifications` / `user_subscriptions`                                          | Notification settings  |

### Datagrid

| Target                               | Description                       |
| ------------------------------------ | --------------------------------- |
| `datagrid_columns` / `datagrid_rows` | Datagrid data (step field tables) |

## Context query names

A context query uses the singular camelCase form of the target as its top-level query name. The entity's changes appear in the `changes` dict under its own key. This table maps each target to both.

| Target                    | Context query name     | Changes key             |
| ------------------------- | ---------------------- | ----------------------- |
| `runs`                    | `run`                  | `runs`                  |
| `run_steps`               | `runStep`              | `runSteps`              |
| `parts`                   | `part`                 | `parts`                 |
| `parts_inventory`         | `partInventory`        | `partsInventory`        |
| `issues`                  | `issue`                | `issues`                |
| `purchase_orders`         | `purchaseOrder`        | `purchaseOrders`        |
| `purchase_order_lines`    | `purchaseOrderLine`    | `purchaseOrderLines`    |
| `procedures`              | `procedure`            | `procedures`            |
| `steps`                   | `step`                 | `steps`                 |
| `locations`               | `location`             | `locations`             |
| `receipts`                | `receipt`              | `receipts`              |
| `receipt_items`           | `receiptItem`          | `receiptItems`          |
| `redlines`                | `redline`              | `redlines`              |
| `parts_kits`              | `partKit`              | `partsKits`             |
| `part_kit_inventories`    | `partKitInventory`     | `partKitInventories`    |
| `abom_installations`      | `abomInstallation`     | `abomInstallations`     |
| `run_step_sessions`       | `session`              | `runStepSessions`       |
| `issue_approval_requests` | `issueApprovalRequest` | `issueApprovalRequests` |

## Composite-ID (joiner) entities

Some entities have compound primary keys instead of a single `$id`. For these, pass the composite ID parameters the entity expects.

The `abomInstallation` joiner takes a build requirement ID and a part inventory ID:

```graphql theme={null}
{
  abomInstallation(buildRequirementId: $buildRequirementId, partInventoryId: $partInventoryId) {
    quantity
    buildRequirement { quantity }
  }
}
```

The `partKitInventory` joiner takes a part inventory ID and a part kit item ID:

```graphql theme={null}
{
  partKitInventory(partInventoryId: $partInventoryId, partKitItemId: $partKitItemId) {
    partInventory { serialNumber }
  }
}
```

## Related

* [ION Actions overview](/automate-with-ion/ion-actions)
