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

# Trigger an OA approval from automation

> Kick off DingTalk OA approval flows from AI Table automation — and write status back to the record.

## Scenarios

* Manufacturing: parts bidding — every node needs internal sign-off before advancing.
* Admin: equipment-loan request submitted via AI Table form → OA approval → on approval, auto-stockout and decrement inventory.
* F\&B chains: every step of new-store opening triggers an approval before the next phase.

## Configure the automation

Set a trigger, then pick action **Start OA approval (new)** — the new node supports writing status back.

Pick the OA approval form to link (you must have OA admin permission first — see "How to apply for admin permission" below).

* Pick "started by system"
* Or pick "started by the button clicker"
* Map AI Table field variables to form inputs — advanced fields like Attachment and Department are supported

To write approval status back to AI Table, turn on **Sync status back to AI Table after approval starts**:

* Pick the table to write back to (usually the table the trigger record lives in).
* Pick the field to receive the status.

## Field-to-OA mapping

Since AI Table and OA approval are two systems, field types must match exactly — otherwise the approval fails or comes through empty. Supported types:

| OA field           | AI Table field            | Notes                                                   |
| ------------------ | ------------------------- | ------------------------------------------------------- |
| Single-line text   | ✅ Text                    |                                                         |
| Multi-line text    | ✅ Rich text               | Formatting / images in rich text are dropped            |
| Number             | ✅ Number                  |                                                         |
| Single-select      | ✅ Single select           | Options must match exactly                              |
| Multi-select       | ✅ Multi-select            | Options must match exactly                              |
| ID card            | ✅ ID card                 |                                                         |
| Date               | ✅ Date                    |                                                         |
| Time range         | ✅ Date                    |                                                         |
| Phone              | ✅ Phone                   |                                                         |
| Attachment         | ✅ Attachment / Image      | Multi-attachment supported up to 10 — extras don't sync |
| Contact            | ⚠️ Internal contacts only | External contacts return empty                          |
| Image              | ⚠️ Not supported          | Use Attachment field on the OA side                     |
| External contact   | ⚠️ Not supported          |                                                         |
| Signature          | ❌ Not supported           |                                                         |
| AI control         | ❌ Not supported           |                                                         |
| Cascade / Category | ❌ Not supported           |                                                         |
| Detail / Table     | ❌ Not supported           |                                                         |
| Amount             | ❌ Not supported           |                                                         |

## FAQ

* **How do I create an OA approval?**
  * See: [OA approval — DingTalk handbook](https://docs.dingtalk.io/i/p/Y7kmbokZp3pgGLq2/docs/lo1YvX0prG98keM3X7aqVPw7xzbmLdEZ "OA approval — DingTalk handbook")

* **How do I get OA admin permission?**
  1. Find your org admin in **Contacts** → **People directory** — explain why you need it and ask them to grant **Sub-admin: OA approval permission**.

  2. The admin grants permission via:
     * Open the [DingTalk admin console](https://login.dingtalk.io/oauth2/challenge.htm?redirect_uri=https%3A%2F%2Foa.dingtalk.io%2Fomp%2Flogin%2Fdingtalk_sso_call_back%3Fcontinue%3Dhttps%253A%252F%252Foa.dingtalk.io%252Findex.htm\&response_type=code\&client_id=dingoaltcsv4vlgoefhpec\&scope=openid+corpid\&org_type=management#/welcome "DingTalk admin console").

     * Click **Security & permissions** → **Permission management**.

     * Add you as a sub-admin with scope **OA approval permission**.

* **Approval errored on a field — what now?**
  1. Check that no required field is empty.
  2. Check the mapping table above — referenced fields must be supported types.

* **I had 15 attachments — why are only 10 in OA approval?**

  OA approval supports up to 10 attachments — extras don't sync.
