Send a Dropbox Sign contract for every new Typeform intake
Every new client intake form fires off the right contract for signature and logs the send to a Google Sheet so finance can reconcile signed deals later.
Build a deterministic code workflow that sends a Dropbox Sign contract every time a client fills out my Typeform client-intake form, and logs the send to a Google Sheet for finance reconciliation.
Trigger: Typeform webhook on new form submission for my client-intake form. Typeform supports first-class outgoing webhooks (Create or Update Webhook), so use a webhook trigger here, not a poll.
Step 1. Call Typeform's Retrieve Responses for the form, scoped to the response ID delivered in the webhook payload, to pull the submitter's answers. Extract these fixed fields: full name, email, company, and contract amount.
Step 2. Call Dropbox Sign's Send Signature Request with Template using a fixed template_id (I'll provide it as a workflow input). Map the fields pulled from Typeform onto the template's merge fields: full_name, email, company, contract_amount. Set the signer name and email_address from the form answers. Capture signature_request_id from the response.
Step 3. Call Google Sheets Append Values on my contract-log spreadsheet (sheet name and spreadsheet ID provided as workflow inputs) to append one row: timestamp (now, ISO 8601), client full name, client email, Dropbox Sign signature_request_id, Typeform response_id. Use valueInputOption USER_ENTERED so the timestamp is parsed as a date.
Every step is a fixed-shape transform. No template selection logic, no copywriting, no judgement calls. If any step fails the workflow should surface the error and stop, so finance never sees a sent contract without a matching log row.
Workflow inputs to expose: Typeform form_id, Dropbox Sign template_id, the merge-field key names on the template (in case mine differ), Google Sheets spreadsheet_id, and the sheet/range to append to (e.g. ContractLog!A:E).
Additional information
What does this prompt do?
- Watches your client intake form in Typeform and runs the moment someone submits it.
- Pulls the new submission's answers and maps full name, email, company, and contract amount onto your Dropbox Sign template.
- Dispatches the signature request to the client right away with the values already filled in.
- Appends one row to your contract log spreadsheet with the timestamp, client name, email, signature request ID, and form response ID for finance to reconcile later.
What do I need to use this?
- A Typeform account with the client intake form you use today.
- A Dropbox Sign account with a contract template that has merge fields for full name, email, company, and contract amount.
- A Google Sheet with a contract log tab and a header row covering timestamp, client name, email, signature request ID, and form response ID.
How can I customize it?
- Swap the Dropbox Sign template for a different contract (MSA, SOW, NDA) or pick one based on a form answer.
- Add or remove columns in the contract log to match how your finance team tracks deals.
- Add a Slack or email ping to your sales lead the moment a contract goes out for signature.
Frequently asked questions
Does this work with any Typeform intake form?
Do I need to prepare anything in Dropbox Sign first?
What goes into the Google Sheet log?
How fast does the contract go out?
Can I send different contracts based on what the client picks?
Stop chasing intake forms with manual contracts.
Connect Typeform, Dropbox Sign, and Google Sheets once, and Geni sends the right contract and logs the send every time a client fills out your form.