Connect Any Web Form to BytePhase with Zapier (Google Forms, Typeform & More)
The BytePhase Zapier integration lets any web form — Google Forms, Typeform, Jotform, or Facebook Lead Ads — automatically create leads in your repair shop management software within seconds, using a single secure webhook. Every submission becomes a Contact Us / Self Check-in lead, assigned to your Reception team with the same in-app notification as a manually created lead.
BytePhase is a cloud-based repair shop management platform used by 2,000+ repair shops across 32+ countries to handle tickets, invoicing, inventory, and customer communication. This guide walks through the complete setup for Google Forms → Zapier → BytePhase. The exact same workflow also works with Typeform, Jotform, Gravity Forms, Facebook Lead Ads, and thousands of other apps Zapier supports.
Looking for more automation ideas beyond lead capture? See our companion guide: BytePhase Zapier Integration: 12 Workflows to Automate Your Repair Shop.
What You’ll Need
| Requirement | Notes |
|---|---|
| BytePhase Administrator access | Required to create integrations under Settings → Integrations |
| Zapier Professional plan | Webhooks by Zapier is a Premium feature and isn’t available on the Free plan |
| Google account | Required only if using Google Forms |
| Linked Google Sheet | Google Forms responses must be connected to a spreadsheet before Zapier can read them |
Google Forms users: Open your form → Responses → click the green Google Sheets icon → Create Spreadsheet.
Step 1 – Generate Your BytePhase API Key
- Log into BytePhase.
- Navigate to:
Settings → Integrations
- Locate Zapier.
- Click Configure.
- Enable the integration by setting:
Status = Active
- Click Save.
A popup displays:
- API Key
- Webhook URL
- Example JSON Payload
Important
Copy both the API Key and Webhook URL immediately.
The API key is only shown once.
If lost, you’ll need to delete the integration and create a new one.
Security Tip
Treat your API key exactly like a password.
Store it in a password manager such as:
- 1Password
- Bitwarden
- Dashlane
Never include it in:
- screenshots
- emails
- chat messages
- Git repositories
Step 2 – Prepare Your Google Form
Create your form using the following recommended fields.
| Google Form Question | Required | BytePhase Field |
|---|---|---|
| Full Name | Yes | name |
| Email Address | One of Email or Phone | email |
| Mobile Number | One of Email or Phone | mobile_number |
| Device Type | Optional | device_type |
| Device Brand | Optional | device_brand |
| Device Model | Optional | device_model |
| Serial Number | Optional | serial_number |
| Describe your issue or request | Optional | comment |
Important: Device Matching
BytePhase matches:
- Device Type
- Device Brand
- Device Model
using exact, case-sensitive names.
For best results:
- Use Dropdown or Multiple Choice questions.
- Copy the values directly from:
Settings → Device Type / Brand / Model
Avoid free-text answers because spelling differences won’t match your existing device catalogue.
Step 3 – Create Your Zap
Configure the Trigger
Inside Zapier:
- Click Create
- Select Zap
- Choose Start From Scratch
Trigger Settings
| Setting | Value |
|---|---|
| App | Google Forms |
| Event | New Form Response (Instant) |
Do not select
New or Updated Form Response
Editing an existing submission would create duplicate leads.
Connect your Google account.
Select your customer enquiry form.
Click:
Test Trigger
Zapier should retrieve a recent submission.
When successful, click:
Continue with selected record
No Sample Data?
If Zapier cannot find a sample:
- Submit your form yourself.
- Return to Zapier.
- Click Test Trigger again.
Step 4 – Configure the Webhook
Add a new Action.
Choose:
Webhooks by Zapier
Select:
POST
Webhook Settings
| Setting | Value |
|---|---|
| URL | Your BytePhase Webhook URL |
| Payload Type | Json |
| Wrap Request In Array | No |
| File | Leave blank |
| Unflatten | Yes |
| Basic Auth | Leave blank |
Configure Headers
Add these three headers.
| Header | Value |
|---|---|
| X-API-Key | Your BytePhase API Key |
| Content-Type | application/json |
| Accept | application/json |
Tip
Remove any accidental spaces before or after each header value.
Map Form Fields
Each value on the right must be inserted using Zapier’s variable picker.
Do not type the values manually.
Correct mapping example:
| BytePhase Field | Google Forms Variable |
|---|---|
| name | Full Name |
| Email Address | |
| mobile_number | Mobile Number |
| device_type | Device Type |
| device_brand | Device Brand |
| device_model | Device Model |
| serial_number | Serial Number |
| comment | Describe your issue |
| is_pickup_booked | Boolean value (optional) |
| custom_fields__your_key | Custom field |
Using Custom Fields
When Unflatten = Yes, this key:
custom_fields__warranty_status
automatically becomes:
{
"custom_fields": {
"warranty_status": "Expired"
}
}
Example JSON Payload
{
"name": "John Doe",
"email": "john@example.com",
"mobile_number": "+1234567890",
"device_type": "Laptop",
"device_brand": "Dell",
"device_model": "XPS 15",
"serial_number": "ABC123",
"comment": "Screen not working",
"is_pickup_booked": true,
"custom_fields": {
"warranty_status": "Expired",
"urgency": "High"
}
}
Step 5 – Test the Webhook and Watch Your First Lead Arrive
Click:
Continue → Test Step
Expected response:
HTTP 201 Created
Then open:
Reception → Contact Us
Your test lead should appear with status:
OpenStep 6 – Add a Filter So Spam Never Reaches Your Team
Adding a filter prevents spam and incomplete submissions from reaching your Reception team.
Insert:
Filter by Zapier
Create these conditions:
- Full Name exists
AND
- Email Address exists
OR
- Mobile Number exists
Publish the filter.
Step 7 – Publish Your Zap and Go Live
Click:
Publish
Submit a real form entry.
Within a few seconds you should see the lead automatically appear inside BytePhase.
Your automation is now live.
Troubleshooting
| HTTP Status | Meaning | Solution |
|---|---|---|
| 201 | Success | Lead created successfully |
| 401 | Invalid API Key | Verify X-API-Key and Integration Status |
| 404 | Incorrect Webhook URL | Copy the URL again from BytePhase |
| 422 | Validation error | Review required fields and variable mapping |
| 429 | Rate limit exceeded | Reduce request frequency or use CSV import |
| 5xx | Server error | Contact BytePhase Support |
Test the API with cURL
curl -i -X POST \
"https://<tenant>.api.bytephase.com/api/<tenant-slug>/zapier/self-checkin" \
-H "X-API-Key: bp_YOUR_PLAIN_KEY" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{
"name":"Curl Test",
"mobile_number":"+910000000000",
"comment":"smoke test"
}'
A successful response returns:
HTTP/2 201 Created
If cURL works but Zapier doesn’t, the issue is almost always your Zap configuration.
Security & API Limits
- API keys are shown only once.
- Rotate keys immediately if exposed.
- Delete and recreate the integration to generate a new key.
- Rate limit: 60 requests per minute.
- Every successful submission automatically notifies your Reception user.
- API keys are tenant-specific and cannot be shared between BytePhase accounts.
Final Word: Put Your Lead Capture on Autopilot
Once configured, every enquiry from your website flows into BytePhase automatically — no copy-paste, no missed leads, and your Reception team is notified the moment a customer reaches out. From there, one click converts the lead into a repair ticket.
Do this today: generate your API key under Settings → Integrations → Zapier and connect your busiest web form first — for most shops that’s the service-request form on their website.
BytePhase includes the Zapier webhook on every plan, with a 15-day free trial and no credit card required. Start your free BytePhase trial →







