# Auto-Fill PDF from an Email — Using Zapier + TakeForm

In this tutorial, you’ll learn how to automatically fill a pdf form by using data from body of email — all powered by **Zapier** and **TakeForm**.

## Step 1: Upload your Form to TakeForm

> *Skip this step if you’ve already uploaded your form.*

Follow guide [Upload your PDF Form](/docs/upload-your-pdf-form.md) to upload your form and get `form_id` , you will need it to setup Zapier Action. In this tutorial, I will fill w-9 form of US. The id is `ff6957fb-9401-429d-9c86-f524000e4394`&#x20;

<figure><img src="/files/ofOdvquYsJo4SY6klrO2" alt=""><figcaption><p>Form Id in Header</p></figcaption></figure>

## Step 2: Get a TakeForm Api Key

> *Skip this step if you’ve already uploaded your key*

Follow guide [API Key](/docs/api-developer/api-key.md) to get an Api Key. You will need it to authenticate with TakeForm from Zapier. In this tutorial, the API key is `0d45d24d-a9d4-446f-b17a-e7529e5ca59e` (don't worry, I removed it in my account).

## Step 3: Create Zap and add Email Trigger

> You can use other trigger like Google Form, Gmail, Outlook, etc. TakeForm AI can understand all their contents.

1. Create Zap in <https://zapier.com/>
2. Add a Zapier Email Trigger (or another email platform that you want to use)
3. Set `Trigger event` is **New inbound email.** It means this Zapier app will be triggered by new email.
4. Set `Email Address` for the Email Trigger. I use `w9-takeform` .
5. Test trigger by send and sample mail to the `Email Trigger`  then click next to move to next step.

<figure><img src="/files/ueMq2Q33ddMuNxvREzYM" alt="" width="188"><figcaption></figcaption></figure>

## Step 4: Add TakeForm (1.0.0) Fill Form Action.

1. Click add Action in Zap.

&#x20;

<figure><img src="/files/x99Bms4t6e8vfOUQdHgB" alt="" width="375"><figcaption></figcaption></figure>

2. Type "TakeForm" and choose **TakeForm (1.0.0) integration.**

<figure><img src="/files/s7kqhqRFb3VXDQNw9tml" alt="" width="375"><figcaption></figcaption></figure>

3. Set `Action Event` is **Fill PDF Form**
4. Click `Account`Zapier will pop up a window. You need to enter your API key (in [#step-2-get-a-takeform-api-key](#step-2-get-a-takeform-api-key "mention")) into the box and run authentication.

<figure><img src="/files/VxSwT3DjvAVRdIaHg3Pu" alt="" width="375"><figcaption></figcaption></figure>

5. Set the `Form ID` to the form you uploaded (in [#step-1-upload-your-form-to-takeform](#step-1-upload-your-form-to-takeform "mention")). For me, it's w-9 form with id `ff6957fb-9401-429d-9c86-f524000e4394`&#x20;
6. Set `Dynamic Data` is Stripped Text of Email Trigger.

<figure><img src="/files/bkwza7QZrLrn7HllBRaT" alt="" width="375"><figcaption></figcaption></figure>

7. Click **Continue**. Done! You've completed the Zap. Now it's time for testing.

***

## Testing new Zap

I will send an email to email trigger (`w9-takeform.o3v7nb@zapiermail.com`) with content

```
Hi Team,

Please find below the required details to complete the W-9 form for our vendor setup:

- Name: John A. Smith  
- Business Name: Smith Consulting LLC  
- Federal Tax Classification: Limited Liability Company (LLC)  
- Tax Classification Type: C Corporation  
- Address: 123 Business Rd, Suite 456, San Francisco, CA 94107  
- Social Security Number (SSN):  
- Employer Identification Number (EIN): 12-3456789  
- Signature Name: John A. Smith  
- Date: April 17, 2025  

Let me know if you need anything else.

Best,  
John
```

This is the result

{% file src="/files/nbI8VCB0brvF2R0vLVNH" %}

***

## Video Demo

{% embed url="<https://youtu.be/H021IEe4SgA>" %}
Zapier x TakeForm
{% endembed %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://takeform.gitbook.io/docs/integration/auto-fill-pdf-from-an-email-using-zapier-+-takeform.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
