Formstorkdocs
PricingENTRDashboard

Angular

Use the framework-free SDK, @formstork/js, inside any Angular component.

npm install @formstork/js

In a component

import { Component } from "@angular/core";
import { submitToFormstork } from "@formstork/js";

@Component({
  selector: "app-contact",
  standalone: true,
  template: `
    <p *ngIf="sent">Thanks, your message was sent.</p>
    <form *ngIf="!sent" (ngSubmit)="onSubmit($event)">
      <input type="text" name="name" required />
      <input type="email" name="email" required />
      <textarea name="message" required></textarea>
      <button [disabled]="submitting">
        {{ submitting ? "Sending..." : "Send" }}
      </button>
    </form>
  `,
})
export class ContactComponent {
  submitting = false;
  sent = false;

  async onSubmit(e: Event) {
    e.preventDefault();
    this.submitting = true;
    const obj: Record<string, unknown> = {};
    new FormData(e.target as HTMLFormElement).forEach((v, k) => (obj[k] = v));
    const res = await submitToFormstork("YOUR_ACCESS_KEY", obj);
    this.submitting = false;
    this.sent = res.success;
  }
}

The SDK has no framework dependency, so it drops straight into any Angular version. For reactive state you can wrap it in a signal or a small service.