botbar
Frameworks

React and Next.js

A component, plus verification in a route handler or server action.

npm install @botbar/react @botbar/server
"use client";
import { Botbar } from "@botbar/react";

export function SignupForm() {
  return (
    <form action="/api/signup" method="post">
      <input name="email" type="email" required />
      <Botbar sitekey={process.env.NEXT_PUBLIC_BOTBAR_SITEKEY!} action="signup" />
      <button>Sign up</button>
    </form>
  );
}

Verify in a route handler or server action:

import { RESPONSE_FIELD, verify } from "@botbar/server";

export async function POST(request: Request) {
  const form = await request.formData();
  const result = await verify(form.get(RESPONSE_FIELD)?.toString(), {
    secret: process.env.BOTBAR_SECRET!,
    expectedHostname: "example.com",
    expectedAction: "signup",
  });
  if (!result.success) return new Response("Verification failed", { status: 400 });
  // ...create the account
}

Props: sitekey, action, cdata, theme, size, language, responseFieldName, apiOrigin, onVerify, onExpire, onError. A ref gives you reset() and getResponse().