Integrations

Integrations

Forms

Forms in Pala are frontend-only by default — to actually collect submissions, you’ll need to connect them to a backend endpoint. You can use any backend or third-party form service that accepts POST requests. Once connected, all editor-added fields will submit directly to that endpoint.

Connecting to a form service

Some popular options:

  • Formspree — Free for unlimited forms and 50 total submissions/month
  • Basin — Free for 1 form and 50 submissions/month
  • Getform — Simple setup, great for small sites

To connect, just set your form’s action attribute to your service’s endpoint and use method="POST". Pala will handle rendering and field generation automatically from the editor schema (assuming it’s set up).

<form action="https://formspree.io/f/abcd1234" method="POST">

Download Block JSON

Submitting with JavaScript (no page reload)

If you’d rather keep users on the same page and show loading or success messages, you can intercept the form submission and handle it in JavaScript. This allows you to display states like “Sending…”, “Thank you!”, or error messages without reloading.

HTML:

<form action={form.endpoint} onsubmit={handleSubmit}>

JS:

async function handleSubmit(e) { 
  const form_data = new FormData(e.target);
  fetch(e.target.action, { 
    method: "POST", 
    body: form_data, 
    headers: { Accept: "application/json" } 
  })
  // and so on

Download Block JSON

Lowest-friction option: open email client

If you don’t need backend storage or good UX, you can also have the form pre-fill an email draft in the visitor’s mail client. This is useful for prototypes, unimportant landing pages, or client sites for cheap clients.

<form action="mailto:hello@example.com" enctype="text/plain">

Download Block JSON

When submitted, this opens the visitor’s default email app with the data pre-filled — no external service required.

Best practice

For production, use a reliable backend form provider or your own endpoint. Use the JS approach for interactive UX, and the mailto method only for prototypes.

Analytics

[coming soon]