App integration · All integrations
Connect Gmail to Formfy
Every signed consent or intake form should trigger a confirmation email — to the client, to the front desk, to the account manager. Instead, staff check the dashboard manually, copy the client's address from the submission, and write the same "thank you, your form is on file" message by hand. Multiply that by every new patient, every liability waiver, every agency onboarding packet, and the inbox becomes the bottleneck between a signed document and the next step in your workflow.
Formfy's webhook API fires the moment a form is signed. Wire it to Gmail through a lightweight middleware layer and every signed form triggers an automatic confirmation to the client and a notification to your team — no manual outreach required.
The workflow at a glance
Trigger
A client signs a Formfy consent, intake, or waiver form
Action
Formfy fires a webhook to your middleware, which fetches the signed PDF and sends a Gmail confirmation
Result
The signer receives a Gmail confirmation with a link to their executed document; your team gets a copy in the same pass
Step-by-step: connect Gmail to Formfy
Wire Formfy webhook subscriptions into Gmail and send automatic signed-form confirmations to clients and staff.
Generate a Formfy API key
Open the Formfy dashboard, go to Settings → API Keys, and click Create key. Copy the fk_live_… token into a password manager — Formfy shows it once. Use a fk_test_… key during setup so test signatures do not count against your live plan credits.
List your forms and identify the target form
Before building the Gmail action, pull your form list with GET /api/v1/forms. Note the id of the consent or intake form you want to monitor. That id routes the webhook subscription and the signed-PDF fetch in the next steps.
GET
/api/v1/formsSee in the OpenAPI spec →Subscribe your middleware to the form.signed webhook
POST /api/v1/webhooks with target_url pointing to your middleware endpoint — a Zapier Catch Hook, a Make HTTP module, or a lightweight Express handler. Set event_types to ["form.signed"]. Formfy returns a signing secret; store it so your middleware can verify every delivery before sending a Gmail.
POST
/api/v1/webhooksSee in the OpenAPI spec →Fetch the signed PDF link for the email body
When the webhook fires, call GET /api/v1/forms/{id}/signed-pdf using the form id from the payload. Formfy returns a time-limited download URL. Pass that URL into your Gmail message body so the recipient can open the executed document directly from the confirmation email.
GET
/api/v1/forms/{id}/signed-pdfSee in the OpenAPI spec →Build the Gmail send action in your middleware
In your middleware, add a Gmail send action — the Gmail API, a Zapier Send Email step, or a Make Gmail module. Set the To field to signer_email from the Formfy payload, include the signed-PDF URL in the message body, and CC your front desk or account manager address.
Test the full flow end-to-end
Sign a test form in Formfy. Within seconds the webhook fires, your middleware runs, and a Gmail confirmation lands in the test inbox. Verify the signed-PDF link opens correctly and that the To and CC addresses routed as expected, then flip the Zap or workflow to live.
Rotate the webhook secret on schedule
Rotate the signing secret quarterly or after any suspected exposure: POST /api/v1/webhooks/{id}/rotate-secret. Update the stored secret in your middleware immediately. Deliveries that arrive before the update will fail signature verification — by design, so no unauthorized Gmail sends reach your clients or team.
POST
/api/v1/webhooks/{id}/rotate-secretSee in the OpenAPI spec →
Subscribe your Gmail middleware to Formfy signed-form events
Subscribe to the form.signed event. Your middleware endpoint receives the payload and calls Gmail to send the confirmation; Formfy returns a signing secret used to verify every delivery.
curl -X POST https://formfy.ai/api/v1/webhooks \
-H "Authorization: Bearer fk_live_YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{
"target_url": "https://hook.us1.make.com/abc123xyz",
"event_types": ["form.signed"]
}'Frequently asked questions
Does Formfy connect natively to Gmail?
Formfy does not yet have a direct one-click Gmail connector. The integration runs through a thin middleware layer — Zapier, Make, n8n, or a small custom server — that receives Formfy webhook events and calls the Gmail API or SMTP on your behalf. The connection takes roughly ten minutes to wire up once and then runs automatically on every signed form, with no ongoing maintenance unless you rotate the webhook secret.
Which Formfy events can trigger a Gmail email?
Formfy's v1 API publishes five webhook event types: form.created, form.sent, form.viewed, form.signed, and form.expired. For Gmail confirmations, form.signed is the most useful — it fires the moment an electronic signature is captured. Subscribe to multiple events on a single endpoint by passing all of them in the event_types array, so one Gmail action can cover form.sent (delivery receipt) and form.signed (completion confirmation) simultaneously.
How do I include the signed PDF in the Gmail confirmation?
After the webhook delivers the form.signed payload, call GET /api/v1/forms/{id}/signed-pdf using the form id from the payload body. Formfy returns a time-limited, signed URL pointing to the completed PDF. Insert that URL as a hyperlink or button in your Gmail message body. The recipient clicks it to open or download the executed document directly — no attachment size limits, no Gmail bounce for large PDFs.
Can I send confirmation emails to both the signer and my team?
Yes. Your middleware can fan the Gmail send to any number of recipients from a single Formfy webhook event. Typical pattern: send a completion confirmation to signer_email (the client), and a separate notification to a fixed team address such as intake@yourclinic.com or crm@youragency.com. Add CC or BCC fields in your Gmail action as needed. Each signed form triggers one webhook delivery; your middleware decides how many emails to send.
How do I verify the Formfy webhook before sending a Gmail?
Formfy signs every webhook payload with HMAC-SHA256 and includes the signature in the X-Formfy-Signature request header. In your middleware, recompute HMAC-SHA256(secret, raw_body) using the signing secret returned when you created the subscription. If the signatures match, proceed to the Gmail send. If they do not, discard the request. This check prevents spoofed payloads from triggering unauthorized Gmail messages to your clients or team.
What happens if Gmail is unavailable when a form is signed?
Formfy queues webhook deliveries and retries with exponential backoff for up to 24 hours. If your middleware or Gmail is temporarily unavailable, the delivery retries automatically until it succeeds or the window closes. Missed deliveries are visible in the Formfy dashboard's Webhook Deliveries log, where you can replay any individual payload manually once your Gmail integration is back online.
Does the Gmail integration cost extra on my Formfy plan?
Gmail sends run through your own Google account (personal or Workspace) — Formfy does not bill for the email itself. Formfy API access, including webhook subscriptions and signed-PDF fetches, is included on every paid plan and during the 15-day free trial. Gmail's API free quota covers thousands of sends per day for most teams; high-volume senders should review Google Workspace sending limits separately.
How do I troubleshoot a Gmail confirmation that stopped sending?
Start with three checks: (1) GET /api/v1/webhooks to confirm the subscription still exists and form.signed is in the event_types list; (2) review the Webhook Deliveries log in the Formfy dashboard for HTTP errors returned by your middleware; (3) check your middleware logs for Gmail API auth errors — Gmail OAuth tokens expire and need periodic refresh. If the subscription was accidentally deleted, re-POST /api/v1/webhooks and update your middleware with the new signing secret.
Ready to wire Gmail into Formfy?
Spin up an API key, run your first webhook, and route signed forms wherever your team already works.
