# New Record Created — Odoo

> Emit new event when a new record is created. See the documentation

- Key: `odoo-new-record-created`
- Type: Trigger (Polling)
- Version: 0.0.1
- App: Odoo (`odoo`) — https://pipedream.com/apps/odoo.md
- This page (HTML): https://pipedream.com/apps/odoo/triggers/new-record-created
- Source: https://github.com/PipedreamHQ/pipedream/blob/master/components/odoo/sources/new-record-created/new-record-created.mjs

## Description

Emit new event when a new record is created. [See the documentation](https://www.odoo.com/documentation/18.0/developer/reference/external_api.html#list-records)

## Props

| Prop | Type | Required | Description |
|---|---|---|---|
| `timer` | `$.interface.timer` | Yes | Timer |
| `modelName` | `string` | Yes | The technical name of the Odoo model to interact with (e.g. res.partner, helpdesk.ticket, sale.order, crm.lead). Use the List Models action to get the model name. Options are loaded from the connected account. |
| `domain` | `string` | No | Odoo search domain as JSON. Single-condition examples: phone contains 555 -> ["phone", "ilike", "555"]; email contains acme.com -> ["email", "ilike", "acme.com"]; companies only -> ["is_company", "=", true]. Use a full domain array for multiple conditions. Logical operators apply to the criteria that follow them, so use ["\|", ["id", "=", 7583], ["id", "=", 7584]] for a two-condition OR. See domain docs. |

## Returns

Events emitted by Odoo.

## Run it

**TypeScript**

```ts
import { PipedreamClient } from "@pipedream/sdk"

const pd = new PipedreamClient({
  projectId: process.env.PIPEDREAM_PROJECT_ID!,
  clientId: process.env.PIPEDREAM_CLIENT_ID!,
  clientSecret: process.env.PIPEDREAM_CLIENT_SECRET!,
  projectEnvironment: "production",
})

const deployed = await pd.triggers.deploy({
  id: "odoo-new-record-created",
  externalUserId: "{external_user_id}", // any stable ID for this user in your system
  configuredProps: {
    odoo: { authProvisionId: "apn_xxxxxxx" },
    timer: { "intervalSeconds": 900 },
    modelName: "Model Name",
  },
  webhookUrl: "https://example.com/webhooks/odoo",
})

console.log(deployed.id)
```

**cURL**

```bash
curl -X POST https://api.pipedream.com/v1/connect/{project_id}/triggers/deploy \
  -H "Content-Type: application/json" \
  -H "X-PD-Environment: production" \
  -H "Authorization: Bearer {access_token}" \
  -d '{
    "external_user_id": "{external_user_id}",
    "id": "odoo-new-record-created",
    "webhook_url": "https://example.com/webhooks/odoo",
    "configured_props": {
      "odoo": { "authProvisionId": "apn_xxxxxxx" },
      "timer": { "intervalSeconds": 900 },
      "modelName": "Model Name"
    }
  }'
```

**MCP**

MCP servers expose Odoo actions as on-demand tools.

New Record Created is an event source, so your application deploys it with the Connect SDK or API and then either receives each event at a webhook URL or retrieves events on demand with the trigger events API.

## Event delivery

Every event is sent to the HTTP endpoint you choose when you deploy the source. Or: no webhook required — your app or agent can fetch recent events from the [trigger events API](https://pipedream.com/docs/connect/api-reference/list-trigger-events.md) instead.

---

- App: https://pipedream.com/apps/odoo.md · All apps: https://pipedream.com/apps
