# Loops · `update_contact`

Update or create a Loops contact by email or userId.

- **Service**: `loops`
- **Action**: `update_contact`
- **Action id**: `loops.update_contact`

## Inspect the schema

Always fetch the authoritative input/output schema before building a payload — fields and defaults can change upstream:

```bash
oo connector schema "loops" --action "update_contact"
```

## Run

```bash
oo connector run "loops" --action "update_contact" --data '{}' --json
```

Replace `{}` with a JSON object that matches the input schema. The response is `{ "data": ..., "meta": { "executionId": "..." } }`.

> **Write action.** This changes Loops state. Confirm the exact payload and intended effect with the user before running.
