Panduan

Panduan12 menit baca

Formulir pendaftaran acara dan RSVP di situs Anda sendiri

Terima RSVP di halaman acara Anda sendiri: formulir, batas tamu, jumlah peserta yang jujur, menutup saat penuh, dan daftar check-in, tanpa aplikasi tiket.

Preet SutharPendiri, Ikiform

Pasang formulir RSVP di halaman acara Anda yang mengirim ke form backend, dengan jawaban ya atau tidak, jumlah tamu yang dibatasi di server, dan detail yang Anda perlukan untuk merencanakan. Hitung peserta dari jawaban terbaru per email, lewat ekspor CSV atau skrip pendek, lalu jeda formulir saat sudah penuh. Ikiform menyimpan dan meneruskan setiap RSVP, tetapi tidak punya fitur tiket, pembayaran, atau batas kapasitas otomatis, jadi pakai platform tiket jika Anda membutuhkannya.

Kebanyakan acara tidak butuh platform tiket. Meetup, workshop, pesta peluncuran, klub baca, atau satu hari konferensi gratis butuh tiga hal: halaman yang menjelaskan apa dan kapan, formulir yang mencatat siapa yang datang, dan angka yang bisa Anda percaya sehari sebelumnya. Panduan ini membangun semua itu di situs Anda sendiri dan terus terang soal bagian yang tidak bisa dikerjakan formulir.

Perjalanan sebuah RSVP

Formulir ada di halaman acara Anda. Setiap RSVP dikirim ke Ikiform, yang memeriksanya terhadap aturan field Anda, menyaring spam, menyimpannya, lalu memberi tahu Anda. Dari sana RSVP sampai ke alat apa pun yang Anda pakai untuk merencanakan: dashboard, spreadsheet, atau skrip yang menghitung peserta.

Bagaimana RSVP berpindah dari halaman acara ke jumlah peserta Andahalamanacaraformulir RSVPAndaIkiformcek batas tamu,saring spamdashboardsetiap RSVP,ekspor CSVemail kepanitiaReply ke tamuwebhookbertandatangansubmission.createdsheet atauskripjawaban terbaruper emailRSVPhitungBagaimana RSVP berpindah dari halaman acara ke jumlah peserta Andahalamanacaraformulir RSVPAndaIkiformcek batas tamu,saring spamdashboardsetiap RSVP,ekspor CSVemail kepanitiaReply ke tamuwebhookbertanda tangansubmission.createdsheet atauskripjawaban terbaru peremailRSVPhitung
  1. Tamu mengisi formulir RSVP di halaman acara Anda, lalu formulir mengirimnya ke endpoint Ikiform Anda.
  2. Ikiform memeriksa field, termasuk batas tamu, dan memberi skor spam pada kiriman sebelum menyimpannya.
  3. Setiap RSVP muncul di dashboard, tempat Anda bisa memfilter dan mengekspornya sebagai CSV.
  4. Panitia menerima email untuk setiap RSVP, dan Reply langsung terkirim ke tamu.
  5. Ikiform mengirim webhook submission.created yang bertanda tangan.
  6. Sheet atau skrip pendek mengubah RSVP menjadi jumlah peserta, memakai jawaban terbaru tiap orang.
Ikiform menyimpan jawaban; jumlah peserta adalah penjumlahan yang Anda jalankan atas jawaban itu. Itulah langkah yang biasanya dikerjakan aplikasi tiket untuk Anda.

Yang tidak dilakukan Ikiform untuk acara

Pahami ini sebelum memilih. Form backend mengumpulkan jawaban. Ia bukan sistem tiket:

  • Tidak ada batas kapasitas. Tidak ada pengaturan yang menutup formulir setelah jumlah RSVP atau tamu tertentu. Anda memantau angkanya dan menjeda formulir sendiri.
  • Tidak ada tiket atau pembayaran. Tidak ada kode QR, aplikasi check-in, tingkatan berbayar, atau refund.
  • Tidak ada email ke tamu. Ikiform tidak mengirim email ke orang yang mengisi formulir. Email notifikasi hanya dikirim ke Anda dan tim, jadi tidak ada autoresponder, email konfirmasi, atau double opt-in. Kirim semua itu dari alat email Anda, dipicu oleh webhook.
  • Tidak ada daftar tunggu. Saat formulir dijeda, kiriman baru ditolak. Daftar tunggu berarti formulir kedua yang Anda pasang sebagai gantinya.
  • Tidak ada deduplikasi. Ikiform tidak menggabungkan atau menolak kiriman berulang berdasarkan email. Kiriman identik yang berulang dalam 24 jam hanya menambah skor spam. Lakukan deduplikasi di tempat daftar itu disimpan, atau saat Anda mengekspor.

Masing-masing punya solusi yang bisa dipakai di bawah ini. Jika beberapa di antaranya tidak bisa Anda terima, platform tiket adalah alat yang lebih tepat.

Cara menerima RSVP

PendekatanUnggul dalamKekurangan
Platform tiket, seperti Eventbrite atau LumaTiket, pembayaran, batas kapasitas, daftar tunggu, email konfirmasi, dan check-in, semuanya sudah termasukHalaman acara dan daftar peserta ada di platform mereka dengan branding mereka. Tiket berbayar dikenai biaya; cek halaman harga mereka
Google FormsGratis dan cepat. Ada tombol untuk berhenti menerima jawabanTampilannya Google, bukan acara Anda. Halaman terpisah, dan tidak ada batas tamu di sisi server
Undangan kalender atau grup chatCukup untuk dua puluh temanTidak ada angka yang bisa dipercaya, tidak ada kebutuhan makanan, dan tidak ada daftar di hari H
Formulir Anda sendiri dan form backend, seperti IkiformHalaman Anda, desain Anda, field apa saja. Batas tamu dicek di server, spam disaring, panitia dikirimi email, CSV dan webhookAnda menghitung peserta, menutup pendaftaran, dan mengirim konfirmasi sendiri, atau lewat webhook ke alat email

Untuk acara berbayar, pakai platform tiket. Untuk acara gratis yang halaman dan daftarnya sebaiknya tetap milik Anda, sisa panduan ini adalah cara menyiapkannya. Halaman Eventbrite membandingkan keduanya lebih dalam.

Field yang membuat perencanaan mungkin

Tanyakan hanya hal yang akan Anda tindak lanjuti. Setiap pertanyaan di sini mengubah sesuatu yang Anda pesan, booking, atau atur. Coba saja: pratinjau menjalankan validator Ikiform di browser Anda, jadi Anda bisa melihat 422 yang akan didapat tamu keempat.

Pratinjau

Menjalankan validator Ikiform di browser Anda. Tidak ada yang dikirim.

Apakah Anda bisa datang?

Tidak termasuk Anda. Maksimal 3.

Tempel definisi ini di tab Fields formulir dan Ikiform menerapkannya pada setiap kiriman, dari halaman mana pun. Template RSVP acara punya versi lebih pendek dengan kode yang sudah dibuatkan.
FieldAlasanPerhatikan
attendingJawaban Tidak juga informasi: Anda tidak perlu mengejar orang itu lagiradio dengan yes dan no, sehingga hitungannya cukup dengan filter
guestsAngka acuan untuk memesan makanan dan kursinumber dengan min: 0, max: 3, integer: true. Ikiform menolak 5 dan 1.5 di server
dietaryHitungan kateringselect mudah dijumlahkan. Teks bebas tidak
access_needsAkses tanpa tangga, tempat duduk, ruang tenangOpsional. Baca semuanya sebelum hari H
emailMemberi tahu orang soal perubahan, dan mencocokkan jawaban yang berubahJuga menjadi alamat reply-to setiap email notifikasi
Tanyakan hanya yang dibutuhkan acara. Jawaban soal makanan dan aksesibilitas bisa termasuk informasi kesehatan; jelaskan di formulir mengapa Anda menanyakannya, simpan hasil ekspor di tempat privat, dan hapus kiriman setelah acara selesai.

Formulir RSVP

Pilih stack Anda. Setiap versi mengucapkan terima kasih secara berbeda untuk Ya dan Tidak, menyembunyikan pertanyaan tamu untuk jawaban Tidak, dan mengirim guests sebagai 0 saat seseorang tidak datang, sehingga penjumlahan Anda tetap benar.

Tempel formulir ini di halaman acara. Formulir mengirim dengan cara biasa dan me-redirect ke halaman konfirmasi Anda, jadi tetap berfungsi tanpa JavaScript. Skrip pendeknya menyembunyikan pertanyaan tamu saat seseorang menjawab Tidak dan mengatur ulang jumlah tamu ke 0.

event.html
<form id="rsvp" action="https://ikiform.com/f/frm_xxxxxxxxxxxxxxxx" method="post">
  <label for="name">Name</label>
  <input id="name" name="name" autocomplete="name" required maxlength="120">
  <label for="email">Email</label>
  <input id="email" name="email" type="email" autocomplete="email" required>
  <fieldset>
    <legend>Can you make it?</legend>
    <label><input type="radio" name="attending" value="yes" required> Yes</label>
    <label><input type="radio" name="attending" value="no"> No</label>
  </fieldset>
  <div id="if-going">
    <label for="guests">Guests you're bringing</label>
    <input id="guests" name="guests" type="number" min="0" max="3" step="1" value="0">
    <label for="dietary">Dietary needs</label>
    <select id="dietary" name="dietary">
      <option value="none">None</option>
      <option value="vegetarian">Vegetarian</option>
      <option value="vegan">Vegan</option>
      <option value="gluten_free">Gluten free</option>
      <option value="other">Other, tell us below</option>
    </select>
    <label for="access_needs">Access needs or anything else</label>
    <textarea id="access_needs" name="access_needs" rows="3" maxlength="1000"></textarea>
  </div>
  <input type="hidden" name="_redirect" value="https://example.com/meetup/registered">
  <input name="_gotcha" type="text" tabindex="-1" autocomplete="off" hidden>
  <button type="submit">Send RSVP</button>
</form>
<script>
  const rsvp = document.getElementById("rsvp");
  const extra = document.getElementById("if-going");
  rsvp.addEventListener("change", () => {
    const no = rsvp.elements.attending.value === "no";
    extra.hidden = no;
    if (no) rsvp.elements.guests.value = "0";
  });
</script>
Versi sisi server mengirim dengan secret key, sehingga Ikiform melewati Allowed domains dan pemeriksaan manusianya. Semua kiriman lalu datang dari IP server Anda, dan batas Standard 5 per menit per pengunjung menghitung semua pengunjung Anda sebagai satu. Pilih rate limit Relaxed atau Custom untuk formulir yang Anda kirim lewat server, dan simpan IKIFORM_SECRET_KEY di environment variable khusus server. Versi server juga meneruskan header Origin dari browser jika ada, karena fetch milik server sendiri tidak mengirimnya dan Ikiform menghitung kiriman uji gratis dari localhost berdasarkan header itu.

Panduan framework di dokumentasi membahas lebih dalam: Next.js, Astro, SvelteKit, Nuxt, React, Vue, dan HTML biasa. Di pembuat situs, versi HTML bisa ditempel ke blok embed.

Hitung peserta dari jawaban terbaru

Orang bisa berubah pikiran. Seseorang menjawab Ya dengan dua tamu pada hari Senin lalu Tidak pada hari Kamis; itu dua kiriman, dan yang kedua adalah yang benar. Jadi aturannya: satu jawaban per email, yang terbaru, lalu tambahkan satu untuk orang itu ditambah tamunya.

Mengapa jumlah peserta memakai RSVP terbaru tiap orangAda: ya2 tamuBen: ya0 tamuAda:tidakberubahpikiran1 oranghanya Benterbaru menangSeninRabuKamisjumlah pesertaMengapa jumlah peserta memakai RSVP terbaru tiap orangAda:ya2tamuBen:ya0tamuAda:tidakberubahpikiran1oranghanyaBenterbaru menangSeninRabuKamisjumlahpeserta
  1. Senin: Ada menjawab ya dengan 2 tamu. Menjumlahkan semua kiriman akan menghitung 3 orang.
  2. Rabu: Ben menjawab ya tanpa tamu.
  3. Kamis: Ada mengirim formulir lagi dan menjawab tidak. Ikiform menyimpannya sebagai kiriman kedua darinya.
  4. Dengan hanya mengambil kiriman terbaru tiap email, Ada menjadi tidak, sehingga jumlah peserta 1: Ben.
Menjumlahkan setiap baris akan menghitung rombongan Ada yang bertiga. Menghitung baris terbaru per email memberi hasil yang benar.

Di spreadsheet

  1. Di Submissions, pilih formulir RSVP, atur status ke Received dan rentang tanggal ke All time, lalu Export CSV.
  2. Impor ke Google Sheets dan urutkan berdasarkan created_at, terbaru di atas.
  3. Pilih datanya dan gunakan Data > Data cleanup > Remove duplicates pada kolom email. Sheets menyimpan baris pertama yang ditemuinya, yang sekarang adalah yang terbaru.
  4. Hitung, dengan attending di kolom G dan guests di kolom H. Sesuaikan hurufnya dengan hasil ekspor Anda:
Google Sheets
=COUNTIF(G2:G, "yes") + SUMIF(G2:G, "yes", H2:H)

Hasil ekspor berisi id, created_at, form, dan status di awal, lalu satu kolom per field. Satu file memuat hingga 100.000 baris.

Dengan skrip

Untuk angka yang bisa Anda hitung ulang kapan saja, baca RSVP lewat REST API. Daftar diurutkan dari yang terbaru, jadi kiriman pertama yang terlihat untuk tiap email adalah yang terbaru. Jalankan ini dengan Node dan secret API key:

headcount.ts
import { createClient } from "@ikiform/sdk";

const ikiform = createClient({ apiKey: process.env.IKIFORM_SECRET_KEY! });
const latest = new Map<string, Record<string, unknown>>();

for await (const submission of ikiform.submissions.iterate({
  formId: "frm_xxxxxxxxxxxxxxxx",
  status: "received",
  limit: 100,
})) {
  const email = String(submission.fields.email ?? "").trim().toLowerCase();
  if (email && !latest.has(email)) latest.set(email, submission.fields);
}

let people = 0;
const meals = new Map<string, number>();
for (const fields of latest.values()) {
  if (fields.attending !== "yes") continue;
  people += 1 + Number(fields.guests ?? 0);
  const meal = String(fields.dietary ?? "none");
  meals.set(meal, (meals.get(meal) ?? 0) + 1);
}

console.log(`${latest.size} people replied. ${people} are coming, guests included.`);
console.table(Object.fromEntries(meals));

Tabel makanan menghitung RSVP, bukan orang, karena satu formulir tidak bisa menyebutkan tamu mana makan apa. Jika makanan tiap tamu penting, seperti di pernikahan, tanyakan per orang; halaman RSVP pernikahan menunjukkan caranya.

Menutup pendaftaran saat penuh

Ikiform tidak akan menghentikan formulir pada angka tertentu, jadi siapkan dua hal: peringatan sebelum penuh, dan cara menutupnya. Tutup di dua tempat, formulir dan halamannya:

  1. Di pengaturan formulir, pilih Pause form. Sejak itu, kiriman ditolak dengan 403 form_paused, sehingga tab lama atau bot tidak bisa menambah lagi.
  2. Ganti formulir di halaman acara dengan kalimat seperti Registration is closed. Email us to join the waitlist. Pengunjung tidak boleh sampai melihat error.
  3. Jika Anda membukanya lagi, pilih Resume form dan pasang kembali formulirnya.

Peringatannya bisa berupa webhook handler yang menghitung ulang di setiap Ya dan mengirim ke webhook chat, seperti milik Slack, begitu Anda melewati 90% kapasitas. Ini route handler Next.js; logika yang sama berjalan di server mana pun:

app/api/rsvp-alert/route.ts
import { createClient } from "@ikiform/sdk";
import { verifyWebhook, WebhookVerificationError } from "@ikiform/sdk/webhooks";

const CAPACITY = 80;
const ikiform = createClient({ apiKey: process.env.IKIFORM_SECRET_KEY! });

async function peopleComing(formId: string) {
  const seen = new Set<string>();
  let people = 0;
  for await (const submission of ikiform.submissions.iterate({ formId, status: "received", limit: 100 })) {
    const email = String(submission.fields.email ?? "").trim().toLowerCase();
    if (!email || seen.has(email)) continue;
    seen.add(email);
    if (submission.fields.attending === "yes") people += 1 + Number(submission.fields.guests ?? 0);
  }
  return people;
}

export async function POST(request: Request) {
  const payload = await request.text();
  try {
    const event = await verifyWebhook({
      payload,
      headers: request.headers,
      secret: process.env.IKIFORM_WEBHOOK_SECRET!,
    });
    if (event.type !== "submission.created" || event.data.fields.attending !== "yes") {
      return new Response(null, { status: 204 });
    }
    const people = await peopleComing(event.data.form.id);
    if (people >= CAPACITY * 0.9) {
      await fetch(process.env.ALERT_WEBHOOK_URL!, {
        method: "POST",
        headers: { "content-type": "application/json" },
        body: JSON.stringify({
          text: `${people} of ${CAPACITY} places taken. Pause the RSVP form in Ikiform when you're full.`,
        }),
      });
    }
    return new Response(null, { status: 204 });
  } catch (error) {
    if (error instanceof WebhookVerificationError) return new Response(error.reason, { status: 400 });
    throw error;
  }
}
  • Handler menghitung ulang lewat API setiap kali, sehingga jawaban yang berubah ikut tercermin. Setiap key bisa membuat 100 request API per menit, cukup untuk beberapa ribu RSVP per hitungan.
  • Peringatan itu memberi tahu seseorang untuk menjeda. Menjeda adalah tindakan di dashboard, jadi tidak ada yang tertutup secara tiba-tiba.
  • Tambahkan endpoint di Webhooks dan salin secret-nya ke IKIFORM_WEBHOOK_SECRET. Satu workspace bisa punya 3 endpoint; dokumentasi webhook membahas percobaan ulang.
Dari pendaftaran dibuka hingga ditutup, tanpa ada yang otomatisbukaformulir dihalamanperingatan90%handlerhitung ulangPauseform403form_pausedhalaman:ditutupdaftartunggu viaemailRSVP masukAnda memutuskanDari pendaftaran dibuka hingga ditutup, tanpa ada yang otomatisbukaformulir di halamanperingatan 90%handler hitung ulangPause form403 form_pausedhalaman: ditutupdaftar tunggu via emailRSVP masukAnda memutuskan
  1. Selama pendaftaran dibuka, setiap RSVP dikirim ke Ikiform.
  2. Webhook handler Anda menghitung ulang jawaban terbaru di setiap Ya dan memperingatkan Anda pada 90% kapasitas.
  3. Anda yang memutuskan kapan sudah penuh lalu memilih Pause form, yang menolak kiriman baru dengan 403 form_paused.
  4. Anda mengganti formulir di halaman dengan pesan tutup dan cara untuk masuk daftar tunggu.
Seseorang yang memutuskan untuk menutup. Itu lebih lambat dari batas keras aplikasi tiket, tetapi berarti perubahan rencana di menit akhir tidak pernah mengunci orang yang sebenarnya masih akan Anda terima.

Konfirmasi tanpa email konfirmasi

Ikiform tidak mengirim email ke tamu, jadi berikan yang mereka perlukan di halaman terima kasih: tanggal, jam, alamat, dan file kalender. File .ics statis di samping halaman itu bisa dipakai di semua aplikasi kalender. Tautkan dari halaman konfirmasi sebagai Add to calendar:

meetup.ics
BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//Example Meetup//RSVP//EN
BEGIN:VEVENT
UID:meetup-2027-03-14@example.com
DTSTAMP:20261025T090000Z
DTSTART:20270314T183000Z
DTEND:20270314T210000Z
SUMMARY:Example meetup
LOCATION:The Old Library, 12 High Street, London
DESCRIPTION:Doors at 6:30 pm. Reply to the organiser if your plans change.
END:VEVENT
END:VCALENDAR

Waktu yang diakhiri Z adalah UTC, sehingga aplikasi kalender menampilkannya dalam zona waktu masing-masing tamu. Jika Anda ingin email konfirmasi sungguhan, kirim setiap RSVP lewat webhook ke alat email Anda, langsung atau melalui Zapier, Make, atau n8n, lalu kirim dari sana. Daftar yang sama kemudian bisa menerima pengingat sehari sebelumnya.

Jawaban yang berubah dan pembatalan

Beri tahu orang cara mengubah jawaban: Plans changed? Send the form again with the same email. Hitungan Anda sudah memakai jawaban terbaru, jadi tidak perlu apa-apa lagi. Notifikasi menampilkan setiap perubahan saat terjadi, yang berguna di minggu acara.

Dua orang di Wi-Fi yang sama berbagi alamat IP, dan rate limit dihitung per IP. Default Standard, 5 per menit per pengunjung, sudah cukup untuk halaman acara. Jangan pasang batas Custom satu kiriman per hari untuk mencegah pengulangan: itu memblokir anggota keluarga kedua di jaringan yang sama, padahal aturan jawaban terbaru sudah menangani pengulangan.

Di hari H

Ekspor RSVP, hapus duplikat seperti di atas, filter attending = yes, urutkan berdasarkan nama, lalu cetak. Tambahkan kolom untuk centang dan untuk tamu yang datang. Daftar cetak tetap bisa dipakai saat sinyal di lokasi tidak ada. Simpan kolom kebutuhan aksesibilitas di salinan untuk tim pintu masuk, dan kolom makanan di salinan untuk katering.

Spam tidak masuk ke daftar Anda: honeypot, skor spam, dan rate limit menyaringnya sebelum ikut terhitung, dan spam tidak memicu email atau webhook. Cek filter Spam sekali sebelum mencetak, kalau-kalau ada RSVP asli dengan pesan tak biasa yang masuk ke sana. Alamat sekali pakai menambah 2 ke skor spam.

Pilih situasi Anda

Pernikahan, acara komunitas gratis, dan jadwal relawan masing-masing dihitung dengan cara berbeda. Halaman-halaman ini membahas apa yang berubah.

Pastikan berfungsi

Uji seluruh alurnya seminggu sebelum Anda mengumumkan acara. Ikiform tidak punya paket gratis. Pengujian gratis: workspace tanpa paket menerima 50 kiriman uji per bulan dari localhost. Untuk go live, pilih Pro mulai $6/bln untuk 500 kiriman, atau bayar sekali: 10.000 kiriman seharga $49 atau 50.000 kiriman seharga $149, dengan kredit yang tidak pernah kedaluwarsa. Lihat harga.

  1. Di Allowed domains formulir, tambahkan domain situs Anda, ditambah localhost selama pengembangan. Biarkan kosong untuk menerima kiriman dari mana saja.
  2. Kirim satu Ya dengan dua tamu dan satu Tidak dari email yang berbeda. Keduanya masuk, dan yang Tidak menampilkan guests sebagai 0.
  3. Kirim tiga tamu, lalu empat. Yang keempat ditolak dengan Must be at most 3.
  4. Cek inbox setiap penerima notifikasi. Masing-masing mendapat email berisi field, dan Reply terkirim ke pengirim formulir jika formulir punya field email.
  5. Jalankan skrip jumlah peserta atau rumus sheet. Hasilnya harus cocok dengan yang Anda kirim.
  6. Jeda formulir lalu kirim sekali lagi. Anda mendapat 403 form_paused. Lanjutkan kembali.
  7. Kirim dengan honeypot terisi, _gotcha=bot. Kiriman tetap mendapat jawaban sukses, tetapi disimpan sebagai spam dan tidak memicu email atau webhook.
  8. Tidak ada yang masuk? Ubah filter status di dashboard ke Spam. Spam mendapat jawaban sukses yang sama dengan kiriman asli.

Pemecahan masalah

MasalahYang harus dilakukan
Jumlah peserta terlalu tinggiAnda menjumlahkan semua kiriman. Simpan hanya yang terbaru per email, dan pastikan jawaban Tidak mengirim guests sebagai 0.
403 form_paused di halaman liveFormulir dijeda di dashboard. Lanjutkan kembali, atau ganti formulir di halaman dengan pesan tutup.
422 validation_failed yang menyebut guestsTamu melebihi max field, atau berupa desimal. Tampilkan pesan Ikiform di samping field, seperti yang dilakukan contoh-contohnya.
403 origin_not_allowed, atau setiap kiriman masuk ke spamDomain halaman tidak ada di Allowed domains formulir. Tambahkan, ditambah localhost untuk uji lokal. Subdomain dari domain yang terdaftar diizinkan.
429 rate_limitedSatu pengunjung mengirim melebihi rate limit formulir. Standard mengizinkan 5 per menit per pengunjung. Tunggu sesuai Retry-After, atau pilih Relaxed atau Custom untuk formulir yang mengirim dari satu IP bersama.
Kiriman ada di dashboard tetapi tidak ada email atau webhook yang datangKiriman itu disimpan sebagai spam. Spam tidak mengirim apa pun. Buka di filter Spam untuk melihat alasannya, dan tandai sebagai bukan spam untuk mengirim email dan webhook-nya.
Browser mendarat di halaman terima kasih Ikiform, bukan halaman Anda_redirect diabaikan kecuali domainnya ada di Allowed domains dan berupa URL https:. Tambahkan domainnya, atau atur Redirect after submit di pengaturan formulir sebagai gantinya.

Pertanyaan

Mentok di salah satu langkah, atau ingin panduan untuk situasi Anda? Email hello@ikiform.com.