A Word form dengan kotak teks, dropdown departemen, dan kotak centang kode etik, serta spreadsheet dengan tiga puluh karyawan baru: itu adalah pagi yang penuh menyalin dan menempel, atau satu prompt. Dengan server GroupDocs.Editor MCP yang berjalan secara lokal, Claude, Cursor, atau Copilot pertama-tama menanyakan ke formulir bidang apa saja yang ada, kemudian mengisi satu salinan per baris dan menyimpan masing-masing dengan nama orang tersebut. Tata letak formulir tidak diubah, dan nilai apa pun yang tidak memiliki bidang yang cocok dilaporkan alih-alih diabaikan secara diam-diam:

Baca new-employee-form.docx, kemudian isi satu salinan per baris dari new-hires.csv dan beri nama setiap file sesuai nama karyawan.

Versi langkah demi langkah ada di dokumentasi: How to fill Word form fields from data with an AI agent.

Siapa yang membaca spreadsheet?

Agen melakukannya, dan penting untuk menyatakan hal itu secara jelas. Server Editor bekerja pada formulir Word; ia tidak membaca CSV atau workbook Anda. Agen membaca baris-baris dengan alat file miliknya, atau Anda menempelkannya, lalu membuat satu panggilan fill_form_fields per baris dengan outputName per orang. Pembagian itu adalah fitur: data tidak pernah perlu berada dalam format yang dimengerti server, dan agen dapat membersihkannya di sepanjang jalan (memisahkan nama lengkap, menormalkan tanggal) sebelum dimasukkan ke dalam formulir.

Tanyakan formulir terlebih dahulu

Nama bidang dalam formulir Word jarang sesuai dengan label yang terlihat di halaman. Labelnya berbunyi “Full name:”, sementara bidangnya mungkin disebut FullName, Text1, atau Name_Employee. Menebak adalah cara formulir kembali setengah kosong. get_form_fields mengembalikan nama sebenarnya, tipe, dan nilai saat ini. Diambil dari GroupDocs.Editor.Mcp 26.10.0 terhadap formulir onboarding sintetis (output dipersingkat):

-> get_form_fields {"file":{"filePath":"new-employee-form.docx"}}
<- { "count": 6, "fields": [
     { "name": "FullName",   "type": "Text",     "value": "" },
     { "name": "Email",      "type": "Text",     "value": "" },
     { "name": "StartDate",  "type": "Text",     "value": "" },
     { "name": "Department", "type": "DropDown",
       "value": { "options": [ "Engineering", "Finance", "Sales",
                               "Operations" ], "selected": "Engineering" } },
     { "name": "Agree",      "type": "CheckBox", "value": false },
     { "name": "Newsletter", "type": "CheckBox", "value": false } ] }

Dropdown dilengkapi dengan opsi-opsinya, sehingga agen dapat memetakan “finance” dalam spreadsheet ke entri tepat “Finance” alih-alih membuat departemen keenam.

Kemudian isi satu baris

-> fill_form_fields {"file":{"filePath":"new-employee-form.docx"},
     "values":{"FullName":"Amara Okafor",
               "Email":"amara.okafor@northwind.example",
               "StartDate":"2026-12-01","Department":"Finance",
               "Agree":"true","Phone":"+31 10 555 0100"}}
<- Updated 5 field(s) in 'new-employee-form.docx': FullName, Email,
   StartDate, Department, Agree.
   Not found: Phone. Call get_form_fields for the exact names.
   Saved to: …/new-employee-form_edited.docx

Spreadsheet memiliki kolom telepon yang tidak memiliki bidang di formulir. Server mengisi lima bidang yang ada dan menamai yang tidak ada. Membaca salinan yang telah diisi kembali dengan get_form_fields menunjukkan nilai-nilai berada di tempatnya, termasuk "selected": "Finance" dan "Agree": true, serta Newsletter masih tidak dicentang karena baris tersebut tidak menyatakan sebaliknya.

Seluruh batch

new-hires.csv (agent reads it)          new-employee-form.docx
  Amara Okafor, Finance, ...  ---+
  Tomas Varga, Sales, ...     ---+      get_form_fields (once)
  ...                            |        -> FullName, Email, StartDate,
                                 |           Department, Agree, ...
                                 v
  fill_form_fields {"values":{...row...},
                    "outputName":"form-amara-okafor.docx"}   x one per row
     -> "Updated 5 field(s) ... Not found: Phone"
     -> form-amara-okafor.docx, form-tomas-varga.docx, ...

Tiga instruksi membuat batch dapat diandalkan: panggil get_form_fields sekali dan petakan kolom ke nama bidang sebelum pengisian pertama; beri setiap baris outputName masing-masing, karena jika tidak salinan akan menumpuk sebagai new-employee-form_edited.docx, new-employee-form_edited (1).docx, dan seterusnya, tanpa nama siapa pun; serta kumpulkan baris “Not found” menjadi satu laporan di akhir alih-alih berhenti pada yang pertama.

Prompt yang berhasil pada baris pertama

Sebagian besar kegagalan batch terjadi pada baris pertama dan kemudian berulang tiga puluh kali. Minta percobaan kering terlebih dahulu:

Baca bidang-bidang new-employee-form.docx dan header new-hires.csv. Tunjukkan kolom mana yang masuk ke bidang mana, dan kolom mana yang tidak memiliki bidang. Kemudian isi hanya baris pertama dan berhenti.

Agen menjawab dengan tabel pemetaan kecil, Name -> FullName, Dept -> Department, Phone -> (no field), dan satu formulir terisi yang dapat Anda buka. Jika ejaan departemen atau format tanggal salah, Anda melihatnya sekali, memperbaiki instruksi, lalu meminta sisanya. Langkah tinjauan itu memakan satu menit dan menjadi perbedaan antara tiga puluh formulir yang benar dan tiga puluh formulir yang perlu diperiksa secara manual.

Ini juga menyelesaikan pertanyaan yang tidak dapat dijawab spreadsheet sendiri. Apakah sel “Agree” yang kosong berarti tidak dicentang, atau baris tersebut harus dilewati? Apakah “2026-12-01” dimasukkan ke bidang tanggal sebagaimana diketik, atau sebagai “1 December 2026”? Agen akan mengikuti apa pun yang Anda katakan, tetapi harus diberitahu.

Apa lagi yang dapat ditangani alat formulir

Bidang teks, angka, dan tanggal diisi dengan string; kotak centang menerima "true" atau "false"; dropdown mengambil salah satu opsi mereka. format menyimpan salinan yang diisi sebagai DOC, RTF, atau ODT alih-alih DOCX; formulir yang diisi selalu berupa dokumen Word, sehingga PDF untuk karyawan baru merupakan konversi terpisah setelahnya. Formulir yang dilindungi kata sandi dibuka dengan password dan tetap terlindungi. Salinan yang diisi ditulis oleh mesin form-field bukan melalui HTML, sehingga header, footer, dan nomor halaman muncul sebagaimana adanya. Alat-alat membaca formulir DOCX, DOC, DOCM, DOT, DOTX, RTF, dan ODT.

Batasan jujur

  • Hanya formulir Word, dan hanya bidang formulir legacy: bidang teks, kotak centang, dan dropdown yang Word sisipkan dari Developer → Legacy Tools. Kontrol konten tidak terdaftar atau diisi. Formulir PDF (AcroForms) tidak termasuk dalam cakupan server ini.
  • Server tidak membaca spreadsheet; agen menyediakan nilai-nilai, jadi periksa pemetaan kolomnya pada baris pertama sebelum membiarkannya berjalan melalui semuanya.
  • Satu panggilan mengisi satu formulir. Batch tiga puluh berarti tiga puluh panggilan.
  • Mode evaluasi menambahkan baris banner di bagian atas setiap salinan yang diisi, sehingga output tanpa lisensi bersifat draf, bukan sesuatu yang dikirim ke karyawan baru.

FAQ

Bagaimana agen mengetahui nama bidang?
Ia menanyakan: get_form_fields mengembalikan nama, tipe, dan nilai saat ini setiap bidang, serta opsi setiap dropdown.

Apa yang terjadi pada nilai yang tidak memiliki bidang di formulir?
Nilai tersebut dilewati dan disebutkan dalam respons (“Not found: Phone”), sehingga agen dapat melaporkannya.

Apakah formulir asli saya berubah?
Tidak. Setiap pengisian menulis file baru; templat tetap kosong untuk baris berikutnya.

Selami lebih dalam