Hantar data webhook ke Google Sheets: bagaimana caranya?
Hantar data webhook ke Google Sheets tanpa menulis kod: gunakan aliran kerja Webhook ke Google Sheets dengan pengesahan input dan tanpa model yang diuji dalam persekitaran produksi pada 8 Oktober 2026: Universal Webhook → JSON Operations (JQ) → Verification Router, dengan input yang sah dihantar ke Append Rows dan Webhook Response. Permintaan yang sah dengan pengesahan identiti memulangkan 200 dan menambah satu baris; input yang tidak sah memulangkan 422, manakala kunci API yang tiada atau tidak sah memulangkan 403, tanpa menambah baris. Aliran kerja yang telah dibersihkan daripada maklumat peribadi diimport dan diuji semula: muat turun aliran kerja yang telah diuji. Ikuti persediaan yang disyorkan di bawah; ujian editor terdahulu pada 1 Oktober dan alternatif berasaskan model mempunyai skop masing-masing. Pada 9 Oktober 2026, versi dengan perlindungan pendua (event_id) diuji dalam persekitaran produksi serta diimport dan diuji semula.
Berkaitan: Simpan bakal pelanggan daripada laman web dalam Google Sheets dan Integrasi Google Sheets untuk AI Flowi Workflow.
Oleh Ai Flowi · Semakan teknikal: Janice Lee, Sokongan Teknikal, Ai Flowi.
Diterbitkan · Dikemas kini
Beralih daripada Dify? Bina semula aliran kerja webhook ke Google Sheets anda dalam AI Flowi Workflow, dengan pemetaan nod, kelayakan akses dan semakan pengesahan.
Lihat perbandingan AI Flowi Workflow dengan n8n, perbandingan AI Flowi Workflow dengan Dify, panduan alternatif kepada Zapier, atau panduan beralih daripada Make.
Berkaitan: Pemetaan medan webhook untuk Google Sheets.
Aliran kerja yang disyorkan: pengesahan input yang diuji dalam persekitaran produksi (8 Oktober 2026)
Versi ini diuji dalam ruang kerja produksi AI Flowi di workflow.aiflowi.com, yang menjalankan AI Flowi Workflow 1.9.2. Ujian menghantar permintaan HTTP POST sebenar ke webhook produksi menggunakan data sintetik dan sambungan Google yang telah diberi kebenaran. Bilangan baris dibaca semula daripada helaian ujian yang dicipta oleh aplikasi selepas setiap permintaan. Keputusan ini meliputi versi yang disyorkan di bawah; ujian editor terdahulu pada 1 Oktober dikekalkan dalam bahagian sejarah.
Sebelum bermula
- Sambungan Google yang telah diberi kebenaran dalam ruang kerja AI Flowi Workflow anda.
- Helaian Google Sheets dengan lajur
name,emaildanrequest, mengikut turutan tersebut, serta Spreadsheet ID helaian itu. GunakanSheet1untuk persediaan di bawah. - Platform API Key untuk penghantar yang akan menghantar permintaan POST.
Nod yang perlu ditambah
Tambah tujuh nod. Nama dalam huruf tebal ialah nama paparan yang tepat; nota membezakan dua nod JSON Operations dan dua respons.
- Universal Webhook: menerima HTTP POST.
- JSON Operations: mengesahkan permintaan dengan JQ, iaitu pertanyaan yang menyemak dan menyusun semula JSON.
- Verification Router: menghantar input yang sah ke Verified dan input yang tidak sah ke Rejected.
- JSON Operations: menyediakan baris pada cabang Verified.
- Append Rows: menulis baris ke Google Sheets.
- Webhook Response: memulangkan 200 selepas baris ditulis.
- Webhook Response: memulangkan 422 untuk input yang ditolak.
Sambungkan port
Gunakan port paparan di bawah. Lajur kedua memberikan nama medan output dan input yang tepat daripada fail aliran kerja. Lajur terakhir menunjukkan salinan nod berulang yang perlu digunakan.
| Nama paparan dan port | Nama medan output → input | Cabang atau tujuan |
|---|---|---|
Universal Webhook.JSON → JSON Operations.JSON | request_data → data | Ke pengesahan input |
JSON Operations.JSON → Verification Router.Verification Result | data_output → verification_result | Daripada pengesahan input |
Verification Router.Verified → JSON Operations.JSON | verified → data | Ke penyediaan baris |
JSON Operations.JSON → Append Rows.Rows | data_output → values | Daripada penyediaan baris |
Append Rows.Append Result → Webhook Response.Response Body | result → body_data | Ke respons 200 |
Verification Router.Rejected → Webhook Response.Response Body | rejected → body_data | Ke respons 422 |
Sediakan versi yang telah diuji
- Dalam Universal Webhook, aktifkan
POSTdi bawah HTTP Methods, tetapkan Authentication kepada Platform API Key, dan tetapkan POST Response Mode kepada From Flow. - Dalam JSON Operations pertama, pilih JQ Expression dan tampal pertanyaan pengesahan di bawah. Pastikan medan JQ kelihatan; pertanyaan yang disimpan dalam medan tersembunyi digugurkan semasa pelaksanaan.
(.body) as $b
| if ($b|type) != "object" then {verified: false, error: "Request body must be a JSON object with name, email and request."}
else ([ (if ($b.name|type) == "string" and ($b.name|length) > 0 then empty else "name is required and must be text" end),
(if ($b.email|type) == "string" and ($b.email|test("^[^@\\s]+@[^@\\s]+\\.[^@\\s]+$")) then empty else "email is required and must be a valid address" end),
(if ($b.request|type) == "string" and ($b.request|length) > 0 then empty else "request is required and must be text" end) ]) as $errs
| if ($errs|length) > 0 then {verified: false, error: "Validation failed", details: $errs}
else {verified: true, values: [[ $b.name, $b.email, $b.request ]]} end
end
- Sambungkan output pengesahan ke input Verification Result pada Verification Router. Sambungkan Verified ke JSON Operations kedua dan Rejected ke Webhook Response untuk input yang ditolak.
- Dalam JSON Operations kedua, pilih JQ Expression dan masukkan
{values: .values}. Pastikan medan ini juga kelihatan. Sambungkan output JSON nod ini ke input Rows pada Append Rows. - Dalam Append Rows, pilih Google Account anda yang telah diberi kebenaran, tetapkan Spreadsheet ID kepada ID helaian anda, tetapkan Range kepada
Sheet1!A:C, dan tetapkan Value Input Option kepadaUSER_ENTERED. - Sambungkan Append Result ke Response Body pada Webhook Response untuk kejayaan dan tetapkan HTTP Status nod ini kepada 200 OK. Pada respons yang disambungkan ke Rejected, tetapkan HTTP Status kepada 422 Unprocessable Entity.
- Hantar POST ke Production Endpoint anda dengan pengepala
x-api-keyyang mengandungi Platform API Key anda dan badan JSON seperti{"name":"Webhook Test","email":"test@example.com","request":"Synthetic test"}. Semak respons HTTP dan helaian. Permintaan yang sah sepatutnya menambah satu baris; permintaan tanpa email sepatutnya memulangkan 422 dan tidak mengubah helaian.
Keputusan produksi yang direkodkan
Ini ialah keputusan aliran asal pada 8 Oktober 2026. Bilangan baris termasuk baris ujian sintetik terdahulu.
| Ujian | Status HTTP | Kesan pada baris |
|---|---|---|
| T1: permintaan yang sah dengan pengesahan identiti | 200 | 3 → 4; satu baris ditambah |
| T2: medan wajib tiada (email) | 422 | 4 → 4; tidak berubah |
| T3: jenis medan tidak sah (name ialah nombor) | 422 | 4 → 4; tidak berubah |
| T3b: email tidak sah | 422 | 4 → 4; tidak berubah |
| T4: JSON tidak terbentuk dengan betul | 422 | 4 → 4; tidak berubah |
| T5: kunci API tiada | 403 | 4 → 4; tidak berubah |
| T6: kunci API tidak sah | 403 | 4 → 4; tidak berubah |
| T7: kegagalan akses hamparan dengan Spreadsheet ID yang tidak wujud | 404 | 4 → 4; helaian ujian tidak berubah |
| T8a: penghantaran pendua pertama | 200 | 4 → 5; satu baris ditambah |
| T8b: penghantaran kedua yang sama | 200 | 5 → 6; satu lagi baris ditambah |
Fail yang telah dibersihkan daripada maklumat peribadi juga diimport ke dalam aliran baharu: tujuh nod dan enam sambungan. Selepas akaun Google dan Spreadsheet ID ditetapkan, salinan yang diimport memulangkan 200 untuk T1 (6 → 7 baris), 422 untuk T2, T3, T3b dan T4 tanpa baris baharu, serta 403 untuk T5 dan T6 tanpa baris baharu. T8a dan T8b masing-masing memulangkan 200 (7 → 8 → 9 baris). T7 tidak diulang pada salinan yang diimport; ujian kegagalan reka bentuk asal meliputinya.
Batasan yang perlu diketahui sebelum menggunakannya
- Perlindungan pendua: tersedia dalam aliran kerja v2 untuk penghantaran berturutan. Pada 9 Oktober 2026, lima penghantaran serentak dengan satu
event_idsemuanya memulangkan 200 dan menulis 3 baris tambahan pada helaian (15 → 18; baris peristiwa yang sepadan 0 → 3). Aliran kerja ini tidak selamat untuk pelaksanaan serentak. Pastikan penghantar menghantar secara berturutan atau singkirkan pendua pada peringkat selepasnya. Lihat keputusan ujian kebolehpercayaan. Versi lebih ringkas pada 8 Oktober ini masih menambah satu baris bagi setiap penghantaran yang sama. - Kegagalan hamparan belum diperbaiki: ralat Google Sheets (contohnya, Spreadsheet ID yang salah) menghentikan aliran. Platform memulangkan HTTP 404 (atau 500) dengan ralat komponen mentah, termasuk URL Google API dan Spreadsheet ID. Tiada cabang ralat dalam aliran pada versi 1.9.2. Sahkan Spreadsheet ID dan perkongsian sebelum digunakan secara langsung, dan jangan paparkan respons titik akhir secara verbatim kepada pengguna akhir.
- Tiada ID pelaksanaan dalam respons HTTP: log transaksi merekodkan pelaksanaan komponen, tetapi respons kepada penghantar tidak mengandungi ID pelaksanaan atau eksekusi.
- Gunakan Verification Router: penghala Condition lama kehilangan sambungan output kedua apabila editor menyimpan secara automatik dalam binaan terdahulu. Keenam-enam sambungan kekal selepas reka bentuk akhir Verification Router dibuka dan disimpan secara automatik.
- Pastikan JQ kelihatan: menyembunyikan medan JQ menyebabkan HTTP 500 dengan
JSON Query is required and cannot be blank. Pilih JQ Expression dan pastikan medan pertanyaan kelihatan. - Bersihkan eksport sebelum berkongsi: eksport Download tidak membuang butiran akaun Google atau Spreadsheet ID. Eksport ini juga mengekalkan ID sambungan, URL titik akhir webhook serta ID pengguna, folder dan aliran. Buang nilai peribadi sebelum berkongsi; muat turun awam di bawah telah dibersihkan daripada maklumat peribadi.
- Pengesahan identiti External Provider tidak diuji. Ujian pengesahan identiti yang direkodkan menggunakan Platform API Key.
Kos
Pelan: Go dari USD8/bulan dengan bil tahunan (USD10 bulanan), Plus dari USD16 (USD20 bulanan), Pro 100 dari USD80 (USD100 bulanan), Pro 200 dari USD160 (USD200 bulanan) dan Pro 500 dari USD400 (USD500 bulanan), dengan 5,000 hingga 250,000 Flowi Tokens sebulan dan pilihan tambah nilai; 1 token bagi setiap pelaksanaan nod; penggunaan API dan model pihak ketiga tidak termasuk.
Muat turun aliran kerja yang telah diuji
Muat turun aliran kerja webhook ke Google Sheets dengan perlindungan pendua (ZIP). ZIP v2 mengandungi ai-flowi-webhook-to-google-sheets-duplicate-protection.json; versi ini diuji dalam persekitaran produksi serta diimport dan diuji semula pada 9 Oktober 2026. Ikuti persediaan dan batasan perlindungan pendua.
Selepas import, pilih Google Account anda, gantikan YOUR_SPREADSHEET_ID dengan Spreadsheet ID anda, dan cipta tab bernama FL209 (nama tab yang digunakan dalam aliran kerja yang boleh dimuat turun; anda boleh menamakannya semula dalam nod Upsert Row) dengan pengepala baris 1 event_id,name,email,request, mengikut turutan tersebut. Konfigurasikan pengesahan identiti webhook sebagai Platform API Key untuk persediaan yang diuji, aktifkan POST, dan semak bahawa POST Response Mode ialah From Flow. Sebelum menggunakan data anda sendiri, hantar permintaan sintetik seperti {"event_id":"example-event-001","name":"Webhook Test","email":"test@example.com","request":"Synthetic test"}, kemudian ulanginya: jangkakan 200 dengan {"status":"inserted"}, diikuti 200 dengan {"status":"duplicate"} tanpa baris tambahan.
Muat turun versi lebih ringkas tanpa perlindungan pendua (ZIP). ZIP v1 ini mengandungi ai-flowi-webhook-to-google-sheets-validated.json; versi ini diuji dalam persekitaran produksi serta diimport dan diuji semula pada 8 Oktober 2026. Ikuti persediaan 8 Oktober: pilih Google Account anda, tetapkan Spreadsheet ID dan julat Sheet1!A:C dengan lajur name,email,request, dan konfigurasikan pengesahan identiti webhook. Kedua-dua muat turun telah diuji.
Tambah perlindungan pendua (diuji pada 9 Oktober 2026)
Gunakan aliran kerja v2 ini apabila penghantar mencuba semula penghantaran. Hantar event_id yang sama untuk cubaan semula peristiwa yang sama; gunakan pengecam berbeza untuk peristiwa baharu. Versi ini diuji dalam persekitaran produksi pada 9 Oktober 2026 dan muat turun yang telah dibersihkan daripada maklumat peribadi diimport ke dalam aliran baharu serta diuji semula. Perlindungan pendua meliputi penghantaran berturutan.
Nod yang perlu ditambah
Tambah lapan nod. Nama dalam huruf tebal ialah nama paparan yang tepat; nota membezakan tiga nod JSON Operations dan dua respons.
- Universal Webhook: menerima HTTP POST menggunakan pengesahan identiti Platform API Key dan mod respons From Flow.
- JSON Operations: mengesahkan name, email, request dan event_id dengan JQ di bawah.
- Verification Router: menghantar input yang sah ke Verified dan input yang tidak sah ke Rejected.
- JSON Operations: menyediakan baris pada cabang Verified menggunakan
{values: .values}. - Upsert Row: menyisipkan atau mengemas kini baris dengan event_id sebagai kunci.
- JSON Operations: membentuk respons daripada hasil yang berjaya kepada inserted atau duplicate.
- Webhook Response: memulangkan 200 selepas penulisan berjaya.
- Webhook Response: memulangkan 422 untuk input yang ditolak.
Sambungkan port
| Nama paparan dan port | Nama medan output → input | Cabang atau tujuan |
|---|---|---|
Universal Webhook.JSON → JSON Operations.JSON | request_data → data | Ke pengesahan input |
JSON Operations.JSON → Verification Router.Verification Result | data_output → verification_result | Daripada pengesahan input |
Verification Router.Verified → JSON Operations.JSON | verified → data | Ke penyediaan baris |
JSON Operations.JSON → Upsert Row.Row Data | data_output → row_data | Daripada penyediaan baris |
Upsert Row.Result → JSON Operations.JSON | result → data | Ke pembentukan respons |
JSON Operations.JSON → Webhook Response.Response Body | data_output → body_data | Ke respons 200 |
Verification Router.Rejected → Webhook Response.Response Body | rejected → body_data | Ke respons 422 |
Sediakan pengesahan input dan penulisan ke helaian
Dalam JSON Operations untuk pengesahan input, pilih JQ Expression, pastikan medan kelihatan dan tampal pertanyaan pengesahan v2 ini tepat seperti yang ditunjukkan:
(.body) as $b
| if ($b|type) != "object" then {verified: false, error: "Request body must be a JSON object with name, email and request."}
else ([ (if ($b.name|type) == "string" and ($b.name|length) > 0 then empty else "name is required and must be text" end),
(if ($b.email|type) == "string" and ($b.email|test("^[^@\\s]+@[^@\\s]+\\.[^@\\s]+$")) then empty else "email is required and must be a valid address" end),
(if ($b.request|type) == "string" and ($b.request|length) > 0 then empty else "request is required and must be text" end),
(if ($b.event_id|type) == "string" then (if ($b.event_id|length) >= 1 and ($b.event_id|length) <= 100 then empty else "event_id is required and must be text between 1 and 100 characters" end) else "event_id is required and must be text between 1 and 100 characters" end) ]) as $errs
| if ($errs|length) > 0 then {verified: false, error: "Validation failed", details: $errs}
else {verified: true, values: [[ $b.event_id, $b.name, $b.email, $b.request ]]} end
end
Dalam JSON Operations untuk penyediaan baris, pilih JQ Expression dan gunakan {values: .values}; pastikan medan kelihatan. Dalam Upsert Row, pilih Google Account anda, masukkan Spreadsheet ID, tetapkan Sheet Name kepada FL209, Header Row kepada 1, Key Column kepada event_id, aktifkan Case Sensitive Key Match, dan tetapkan Value Input Option kepada RAW. Baris 1 pada tab mesti mengandungi event_id,name,email,request, mengikut turutan tersebut.
Dalam JSON Operations untuk pembentukan respons, pilih JQ Expression, pastikan medan kelihatan dan gunakan:
{status: (if .action == "inserted" then "inserted" elif .action == "updated" then "duplicate" else error("Unexpected upsert action") end)}
Pembentukan respons ini membuang Spreadsheet ID, julat dan setiap medan Google daripada respons kejayaan. Tetapkan Webhook Response untuk kejayaan kepada 200 OK dan respons penolakan kepada 422 Unprocessable Entity, kedua-duanya dengan Content Type application/json. Ia tidak mengendalikan ralat hamparan: ralat tersebut menghentikan aliran sebelum nod respons dilaksanakan. Untuk mentafsir respons kejayaan dan penolakan tersebut, semak kod status HTTP bersama konfigurasi respons.

Pengecam, skop, tempoh penyimpanan dan tingkah laku
| Perkara | Nilai |
|---|---|
| Pengecam | body.event_id yang dibekalkan oleh pemanggil, teks sepanjang 1–100 aksara, disimpan secara verbatim dalam lajur A (event_id). Peka huruf besar dan kecil; ruang di awal dan akhir tidak dibuang. |
| Skop | Satu lembaran kerja (FL209) dalam satu hamparan. event_id yang sama dalam helaian lain adalah bebas. Setiap penghantar yang menulis ke helaian tersebut berkongsi ruang kunci yang sama. |
| Tempoh penyimpanan | Selagi baris dengan event_id tersebut wujud dalam helaian. Tiada tamat tempoh dan tiada log penerimaan berasingan. Memadam atau menyunting baris membolehkan kunci yang sama menyisipkan baris semula. |
| Tingkah laku | Penghantaran pertama: baris disisipkan, 200 {"status":"inserted"}. Penghantaran berulang: baris yang sama dikemas kini (penulisan terakhir mengatasi yang terdahulu), tiada baris baharu, 200 {"status":"duplicate"}. |
Batasan pelaksanaan serentak yang diukur: Pada 9 Oktober 2026, lima penghantaran serentak dengan satu event_id semuanya memulangkan 200 dan menulis 3 baris tambahan pada helaian (15 → 18; baris peristiwa yang sepadan 0 → 3). Aliran kerja ini tidak selamat untuk pelaksanaan serentak. Pastikan penghantar menghantar secara berturutan atau singkirkan pendua pada peringkat selepasnya. Upsert Row membaca dan menulis tanpa mekanisme penguncian; baris pendua sedia ada tidak digabungkan. Lihat keputusan ujian produksi.
Keputusan yang direkodkan: produksi dan salinan yang diimport
Kedua-dua pelaksanaan di bawah selesai pada 9 Oktober 2026. Bilangan baris termasuk baris ujian sintetik terdahulu dalam setiap pelaksanaan. T7 masih TIDAK DIPENUHI: respons 502 terkawal yang dikehendaki tidak dipulangkan; kedua-dua aliran memulangkan ralat 404 mentah tanpa mengubah baris.
| Ujian | Jangkaan | v2 asal: HTTP / baris | Salinan yang diimport: HTTP / baris | Keputusan |
|---|---|---|---|---|
| T1 permintaan sah | 200, +1 baris | 200 / 0→1 | 200 / 6→7 | LULUS |
| T2 email tiada | 422, tiada baris | 422 / 1→1 | 422 / 7→7 | LULUS |
| T3 name ialah nombor | 422, tiada baris | 422 / 1→1 | 422 / 7→7 | LULUS |
| T3b email tidak sah | 422, tiada baris | 422 / 1→1 | 422 / 7→7 | LULUS |
| T4 JSON tidak terbentuk dengan betul | 422, tiada baris | 422 / 1→1 | 422 / 7→7 | LULUS |
| T5 kunci API tiada | 403, tiada baris | 403 / 1→1 | 403 / 7→7 | LULUS |
| T6 kunci API tidak sah | 403, tiada baris | 403 / 1→1 | 403 / 7→7 | LULUS |
| T7 hamparan bermasalah | 502 dengan badan respons terkawal, tiada baris | 404 ralat mentah / 1→1 | 404 ralat mentah / 7→7 | TIDAK DIPENUHI (tiada baris berubah) |
| T8a/T8b penghantaran pendua | inserted kemudian duplicate, +1 kemudian 0 | 200,200 / 1→2→2 | 200,200 / 7→8→8 | LULUS |
| T9a/T9b event_id yang sama | inserted kemudian duplicate, tepat satu baris | 200,200 / 2→3→3 | 200,200 / 8→9→9 | LULUS |
| T10a/T10b event_id berbeza, badan yang sama | dua baris | 200,200 / 3→4→5 | 200,200 / 9→10→11 | LULUS |
| T11 event_id tiada / null / nombor / kosong / 101 aksara | 422, tiada baris | 422 ×5 / 5→5 | 422 ×5 / 11→11 | LULUS |
| T12 event_id 100 aksara | 200, +1 baris | 200 / 5→6 | 200 / 11→12 | LULUS |
Kegagalan hamparan belum diperbaiki dalam versi 1.9.2. Ralat Google Sheets, seperti Spreadsheet ID yang salah, menghentikan aliran. Platform memulangkan HTTP 404 (atau 500) dengan ralat komponen mentah, termasuk URL Google API dan Spreadsheet ID. Tiada cabang ralat dalam aliran pada versi ini, dan Webhook Response pada peringkat selepasnya tidak dapat menangkap kegagalan tersebut. Sahkan Spreadsheet ID dan perkongsian sebelum digunakan secara langsung, dan jangan paparkan respons titik akhir secara verbatim kepada pengguna akhir. Jika penulisan ke helaian gagal, ikuti contoh buku panduan operasi untuk penulisan gagal sebelum memutuskan sama ada hendak mencuba semula.
Muat turun dan sediakan versi perlindungan pendua yang telah diuji.
Ujian editor terdahulu (1 Oktober 2026)
Main semula di bawah merekodkan ujian editor terdahulu dengan tiga nod dan satu baris sampelnya. Untuk aliran kerja semasa, ikuti persediaan yang diuji dalam persekitaran produksi pada 8 Oktober atau muat turun aliran kerja yang telah diuji; pemetaan editor terdahulu tidak mengesahkan medan.
Universal Webhook → JSON Operations (JQ) → Append Rows
Ujian editor, 1 Oktober 2026 – bukan pelaksanaan produksi
Laluan tanpa model yang disahkan (diuji pada 1 Oktober 2026)
Universal Webhook
Aktifkan
POSTdan masukkan badan ujian dalam pembina dengan data palsu (nama ujian disembunyikan di sini):{"name":"<test name>","email":"test@example.com","request":"Workflow demo"}Gunakan kawalan ujian editor; ujian ini tidak menghantar permintaan HTTP ke titik akhir produksi.
JSON Operations (JQ)
Sambungkan JSON webhook, pilih JQ Expression, dan gunakan
{values: [[.body.name, .body.email, .body.request]]}Pulangkan objek ini, bukannya senarai sahaja: komponen membungkus hasil senarai sebagai
{"result": ...}, yang gagal pada Append Rows dalam ujian ini. Objek denganvaluesditeruskan tanpa dibungkus.Append Rows (Google Sheets)
Sambungkan output JSON Operations ke Rows. Pilih sambungan Google yang telah diberi kebenaran dan helaian ujian yang dicipta oleh aplikasi, tetapkan Spreadsheet ID helaian itu, gunakan Range seperti
Sheet1!A:C, dan tetapkanUSER_ENTERED. Jalankan dalam editor dan periksa helaian.Sheet1!A1:C1
Hasil yang direkodkan (nama ujian disembunyikan di sini) ialah satu baris pada
Sheet1!A1:C1:<test name> | test@example.com | Workflow demo
Output sebenar ujian editor pada 1 Oktober 2026: satu baris ditulis ke helaian Google Sheets yang dicipta oleh aplikasi.
Bukti ini hanya meliputi pelaksanaan dalam editor dengan badan sampel dan helaian yang dicipta oleh aplikasi. Penghantaran ke titik akhir produksi dengan kunci API platform, helaian yang tidak dicipta oleh aplikasi, dan pengesahan medan tidak diuji. Sebelum berkongsi titik akhir produksi, ikuti panduan pengesahan identiti webhook; jangan sertakan kelayakan akses dan muatan peribadi dalam contoh.
Sumber untuk semua langkah main semula, input, output dan batasan: laluan tanpa model yang disahkan
Hasil tanpa model tidak membuktikan kejayaan pelaksanaan bagi kaedah berasaskan model. Sumber: Hasil yang dijangka
Bukti ini hanya meliputi pelaksanaan dalam editor dengan badan sampel dan helaian yang dicipta oleh aplikasi. Penghantaran ke titik akhir produksi dengan kunci API platform, helaian yang tidak dicipta oleh aplikasi, dan pengesahan medan tidak diuji. Sebelum berkongsi titik akhir produksi, ikuti panduan pengesahan identiti webhook; jangan sertakan kelayakan akses dan muatan peribadi dalam contoh.

Kaedah alternatif berasaskan model: prasyarat
Gunakan alternatif ini apabila teks yang masuk memerlukan tafsiran model. Ujian produksi pada 8 Oktober tidak meliputi kaedah berasaskan model ini; keputusannya terpakai pada aliran kerja dengan pengesahan input dan tanpa model di atas.
- Akses kepada editor AI Flowi Workflow dan penghantar untuk permintaan webhook sampel yang kecil.
- Model bahasa yang telah dikonfigurasikan dan sambungan akaun Google dengan akses kepada hamparan sasaran.
- Spreadsheet ID, Range sasaran, dan medan yang anda mahu dalam setiap baris. Jangan sertakan kelayakan akses dan muatan peribadi dalam contoh yang dikongsi.
Langkah kaedah berasaskan model
- Tambah Universal Webhook (
input_output.UniversalWebhook). Gunakan tetapan POST dan Platform API Key dalam persediaan webhook yang disyorkan. OutputJSONnod ini ialah data permintaan yang diterima; sambungkannya ke cabang berasaskan model di bawah. - Tambah Type Convert (
processing.TypeConverterComponent). SambungkanUniversal Webhook.JSONkeType Convert.Input, kemudian tetapkan Output Type kepadaMessage. - Tambah Structured Output (
llm_operations.StructuredOutput). SambungkanType Convert.Message OutputkeStructured Output.Input Message. SambungkanLanguageModelyang telah dikonfigurasikan ke Language Model. - Takrifkan Output Schema dan Format Instructions untuk medan yang diperlukan oleh helaian. Ini ialah input wajib. Gunakan output
JSONStructured Output untuk sambungan seterusnya. - Tambah Append Rows (
google_sheets.GoogleSheetsAppendRows). SambungkanStructured Output.Structured Output(JSON) keAppend Rows.Rows, yang menerimaDataatauJSON. Gunakan tetapan Google Account, Spreadsheet ID, Range dan Value Input Option dalam persediaan Sheets yang disyorkan. - Hantar permintaan sampel yang kecil. Periksa JSON webhook, Message yang telah ditukar, dan JSON berstruktur sebelum menjalankan Append Rows. Kemudian semak helaian sasaran untuk baris baharu.
Bila perlu menggunakan langkah AI
Gunakan langkah AI apabila teks yang masuk memerlukan pengekstrakan, pengelasan, atau tafsiran lain. Jika webhook sudah membekalkan medan yang diperlukan, gunakan aliran kerja dengan pengesahan input dan tanpa model yang disyorkan. Jika teks yang masuk memerlukan label, baca tentang pengelasan teks sebelum memilih langkah AI.
Hasil yang dijangka
Bagi aliran kerja yang disyorkan, ujian produksi pada 8 Oktober 2026 dan ujian semula salinan yang diimport merekodkan satu baris ditambah untuk permintaan yang sah dengan pengesahan identiti (200), tanpa baris baharu untuk input yang tidak sah (422) atau kunci API yang tiada atau tidak sah (403). Pada 30 September 2026, penciptaan hamparan berjaya tetapi pemetaan terus JSON webhook mentah ke Append Rows gagal: objek permintaan penuh bukan satu baris. Pada 1 Oktober 2026, ujian editor dengan badan webhook sampel menulis satu baris ke helaian Google Sheets yang dicipta oleh aplikasi melalui Universal Webhook → JSON Operations (JQ) → Append Rows, tanpa model AI. Ujian editor pada 1 Oktober itu tidak menguji penghantaran ke titik akhir produksi, helaian yang tidak dicipta oleh aplikasi, atau pengesahan medan. Kaedah berasaskan model menerangkan sambungan mengikut jenis data; penulisan barisnya masih bergantung pada permintaan ke titik akhir, output model, skema, sambungan Google, dan konfigurasi helaian. Ujian editor terdahulu mahupun ujian produksi tanpa model pada 8 Oktober tidak membuktikan kejayaan pelaksanaan bagi kaedah berasaskan model.
Ralat lazim
- Tiada data webhook dipaparkan: Semak kaedah penghantar dan titik akhir yang disalin daripada Universal Webhook. Lihat pencetus webhook.
- Structured Output tidak mempunyai medan yang diperlukan: Periksa Message yang telah ditukar serta skema dan arahan wajib sebelum menguji Sheets.
- Append Rows gagal: Semak sambungan Google, Spreadsheet ID, Range, dan JSON yang dihantar ke Rows. Lihat panduan sambungan Google dan ralat lazim.