# Conditions

> Choose which orders get a COD confirmation call - call rule conditions on payment method, COD amount, order total, item count, tags, phone and whether the COD order is already confirmed.

Source: https://edesy.in/docs/order-calls/call-rules/conditions

A call rule's conditions decide which new orders get a confirmation call. Every condition must match (they are combined with AND). The default rule calls orders where the payment method is `cod` and the COD order is not already confirmed. With no conditions at all, every order from the store gets a call.

## Create a call rule

In [orders.edesy.in](https://orders.edesy.in), open **Call rules** and create one. A rule has:

| Part | What you set |
|---|---|
| Name | For example "COD confirmation" |
| Trigger | The store (integration). The event is **Order created** |
| Conditions | Which orders to call (this page) |
| Call script | Hindi or English, and the wording. See [Scripts](https://edesy.in/docs/order-calls/scripts/hindi-and-english-scripts) |
| Caller ID | The number customers see; blank uses your first number |
| Timing | Delay, calling window, attempts, gaps, give-up time. See [Timing and Retries](https://edesy.in/docs/order-calls/call-rules/timing-and-retries) |
| Outcomes and labels | What to write back when the call settles. See [Outcome Actions](https://edesy.in/docs/order-calls/call-rules/outcome-actions) |

A rule can be turned off and on without deleting it.

## Fields you can filter on

| Field | Type | Operators |
|---|---|---|
| Payment method (`payment_method`) | text | is, is not, contains, doesn't contain, is present |
| COD already confirmed (`cod_confirmed`) | true/false | is, is not |
| Order cancelled (`cancelled`) | true/false | is, is not |
| COD amount (`cod_amount_paise`) | amount in Rs | is, is not, >, ≥, <, ≤, is present |
| Order total (`total_paise`) | amount in Rs | is, is not, >, ≥, <, ≤, is present |
| Item count (`item_count`) | number | is, is not, >, ≥, <, ≤, is present |
| Phone (`phone`) | text | is, is not, contains, doesn't contain, is present |
| Tags (`tags`) | list | contains, doesn't contain, is present |

In the portal you enter amounts in rupees; they are stored in paise.

## Examples

**Default: COD orders that are not yet confirmed**

| Field | Operator | Value |
|---|---|---|
| Payment method | is | `cod` |
| COD already confirmed | is | false |

**Only COD orders of Rs 500 or more**

| Field | Operator | Value |
|---|---|---|
| Payment method | is | `cod` |
| COD amount | ≥ | 500 |

**Skip orders your team has already tagged**

| Field | Operator | Value |
|---|---|---|
| Payment method | is | `cod` |
| Tags | doesn't contain | `verified` |

## When an order does not match

The order is recorded with state **Skipped** and a reason that names the first condition that failed. Orders that are already cancelled, or that have no valid Indian phone number, are always skipped. See [Store Events](https://edesy.in/docs/order-calls/connect-your-store/store-events).

## Several rules on one store

You can have more than one rule on the same store, for example a Hindi rule and an English rule with different conditions. Each rule creates at most one job per order, so a webhook sent twice never calls twice for the same rule. If two rules both match an order, each one calls.

## FAQ

### Can I call prepaid orders too?
Yes. Remove the payment method condition, or change it, and the rule calls whatever matches.

### What value should `payment_method` have?
The default rule expects `cod` for cash on delivery and `prepaid` for paid orders, as sent in your webhook.

### Can I call only high-value orders?
Yes. Add a COD amount or order total condition with ≥ and the threshold in rupees.
