# Update Sales Order Aftercare

> Perform Update Sales Order Aftercare through Brightree.

Source: [https://genhealth.ai/docs/workflows/integrations/brightree/brightree_update_sales_order_aftercare](https://genhealth.ai/docs/workflows/integrations/brightree/brightree_update_sales_order_aftercare)

Integration: [Brightree](https://genhealth.ai/docs/workflows/integrations/brightree.md)

- Handler: `brightree_update_sales_order_aftercare`

- Connection type: `brightree`

## Inputs

- `sales_order_key` — Sales Order Key (expression, required)
  Required literal value or workflow expression.
- `wip_state` — Wip State (select, dynamic options)
  Optional selected identifier or value. Retrieve allowed values from the dynamic options endpoint.
- `assigned_to_key` — Assigned To Key (expression)
  Optional literal value or workflow expression.
- `assigned_to_name` — Assigned To Name (expression)
  Optional literal value or workflow expression.
- `date_needed` — Date Needed (expression)
  Optional literal value or workflow expression.
- `expected_current_wip_state` — Expected Current Wip State (expression)
  Optional literal value or workflow expression.
- `expected_current_classification` — Expected Current Classification (expression)
  Optional literal value or workflow expression.
- `order_note_append` — Order Note Append (textarea)
  Optional text value.
- `dry_run` — Dry Run (boolean)
  Optional true-or-false value.
  Default: `false`

## Outputs

- `success` — Success
- `updated` — Updated
- `noop` — Noop
- `dry_run` — Dry Run
- `sales_order_key` — Sales Order Key
- `resolved_assigned_to_key` — Resolved Assigned To Key
- `resolved_assigned_to_name` — Resolved Assigned To Name
- `fields_updated` — Fields Updated
- `actual` — Actual
- `mismatches` — Mismatches
- `message` — Message
- `error` — Error

Output schema completeness: `best_effort_declared`

## Safety

- External effect: `write`
- Confirmation recommended: no
- Retry safe: no
- Dry run supported: yes

## Schemas

These schemas are first-pass authoring guidance. Runtime validation remains authoritative.

### Input schema

```json
{
  "type": "object",
  "required": [
    "sales_order_key"
  ],
  "properties": {
    "dry_run": {
      "type": "boolean",
      "default": false,
      "description": "Optional true-or-false value.",
      "x-workflow-field-type": "boolean"
    },
    "wip_state": {
      "type": "string",
      "description": "Optional selected identifier or value. Retrieve allowed values from the dynamic options endpoint.",
      "x-dynamic-options": true,
      "x-workflow-field-type": "select"
    },
    "date_needed": {
      "description": "Optional literal value or workflow expression.",
      "x-workflow-field-type": "expression"
    },
    "assigned_to_key": {
      "description": "Optional literal value or workflow expression.",
      "x-workflow-field-type": "expression"
    },
    "sales_order_key": {
      "description": "Required literal value or workflow expression.",
      "x-workflow-field-type": "expression"
    },
    "assigned_to_name": {
      "description": "Optional literal value or workflow expression.",
      "x-workflow-field-type": "expression"
    },
    "order_note_append": {
      "type": "string",
      "description": "Optional text value.",
      "x-workflow-field-type": "textarea"
    },
    "expected_current_wip_state": {
      "description": "Optional literal value or workflow expression.",
      "x-workflow-field-type": "expression"
    },
    "expected_current_classification": {
      "description": "Optional literal value or workflow expression.",
      "x-workflow-field-type": "expression"
    }
  },
  "additionalProperties": false
}
```

### Output schema

```json
{
  "type": "object",
  "properties": {
    "noop": {},
    "error": {},
    "actual": {},
    "dry_run": {},
    "message": {},
    "success": {},
    "updated": {},
    "mismatches": {},
    "fields_updated": {},
    "sales_order_key": {},
    "resolved_assigned_to_key": {},
    "resolved_assigned_to_name": {}
  },
  "additionalProperties": true
}
```
