{% extends "base.html" %} {% block title %}Integrate {{ form['name'] }} · SubmitStream{% endblock %} {% block content %}

← Dashboard

Integrate “{{ form['name'] }}”

Form key: {{ form['public_key'] }} · Endpoint: {{ base }}/f/{{ form['public_key'] }}

Option A — plain form (no JavaScript, works anywhere)

Point your form at the endpoint and add the hidden honeypot field. The _redirect hidden field sets your thank-you page right in the form (no Settings needed). It must point back to your own site (same domain) — otherwise SubmitStream falls back to the Settings redirect, then a generic thank-you page.

<form action="{{ base }}/f/{{ form['public_key'] }}" method="post">
  <input name="name" placeholder="Name">
  <input type="email" name="email" placeholder="Email">
  <textarea name="message"></textarea>
  <!-- thank-you page (same site). Optional. -->
  <input type="hidden" name="_redirect" value="https://yoursite.com/thank-you">
  <!-- honeypot: keep hidden, leave empty -->
  <input type="text" name="{{ form['honeypot_field'] }}" tabindex="-1" autocomplete="off"
         style="position:absolute;left:-9999px" aria-hidden="true">
  <button type="submit">Send</button>
</form>

Option B — drop-in script (inline success, no page reload)

Add your form's data attribute and one script tag. The script injects the honeypot, posts via fetch, and shows an inline message. Control the thank-you behaviour right on the <form> — no Settings needed:

<form data-submitstream="{{ form['public_key'] }}"
      data-redirect="/thank-you">
  <input name="name"> <input type="email" name="email">
  <textarea name="message"></textarea>
  <button type="submit">Send</button>
</form>
<script src="{{ base }}/embed.js" defer></script>

Or keep visitors on the page with a message: data-success="Thanks — we'll be in touch!" (drop the data-redirect).

Notes

{% endblock %}