How to Connect Jotform to BytePhase (Repair Shop Setup Guide)

By Published On: August 13th, 2026Categories: Integrations10.1 min read
Table of contents
Share Post

Connect a Jotform form to BytePhase and every submission lands in your repair shop CRM automatically — as a new Lead or a Self Check-in, mapped to whichever fields you choose, with no copy-paste and no Zapier account required. Jotform posts straight to a webhook URL that BytePhase gives you, so the setup is: generate the URL in BytePhase, paste it into Jotform’s Webhooks integration, send a test submission, map the fields, and activate. It takes about 10 minutes.

What You’ll Need

RequirementNotes
A BytePhase account with access to Business SettingsNeeded to open Settings → Integrations
A Jotform account with a published formWebhooks are available under the form’s Settings → Integrations tab
About 10 minutesMost of it is copy-pasting a URL and clicking through the wizard

What the Jotform Integration Does

A Jotform submission can create one of two things in BytePhase: a Lead (goes into Reception → Contact Us as an enquiry your team follows up) or a Self Check-in (a customer-submitted device drop-off, matched by mobile number, that your team converts into a repair job with one click once the device physically arrives). Pick Lead for enquiry or quote-request forms. Pick Self Check-in if the form asks a customer to describe a device they’re dropping off or shipping in. BytePhase never creates a job or ticket automatically from either destination — that conversion is a deliberate manual step.

This is a one-way flow: a Jotform submission creates or updates a record inside BytePhase, but nothing goes back the other way. There’s no two-way sync — a status change inside BytePhase never reaches Jotform, and BytePhase never queries Jotform for anything after the initial submission. For a repair shop, the typical use case is a “book a repair” or “request a quote” form embedded on your website or shared as a link: a customer fills it out, and by the time your Reception team checks their screen, the enquiry is already sitting there with the device details attached.

How the Jotform Integration Works

Someone submits your form

A customer fills in the Jotform form you already use — nothing changes for them.

Jotform calls your webhook

Jotform posts the submission to your BytePhase webhook URL as soon as the form is completed.

Your field map is applied

Each answer is matched to a BytePhase field. Anything you did not map is kept as a custom field.

The record is created

It lands as a Lead or a Self Check-in — whichever destination that form is set to — and is written to the Activity log.

Step 1: Open the Jotform Card in BytePhase

Log into BytePhase and go to Settings → Integrations. Under Website & Forms you’ll find a Jotform card. Click Connect to start the setup wizard.

Step 2: Choose Where Submissions Land

The wizard opens on Destination, and it comes first because everything after it depends on the answer: the webhook URL you copy in the next step has the destination pinned into it. Choose Self Check-in if the form should open a job for a device that is coming in, or Lead if it should raise an enquiry for your team to follow up. You are not choosing once and for all — see running both side by side below.

Step 3: Copy Your Webhook URL

The wizard’s Connect step generates a webhook URL in the form:

https://<tenant>.api.bytephase.com/api/<tenant-slug>/integrations/ingest/jotform?token=YOUR_KEY&destination=self_checkin

Copy it now — the key embedded in it is shown once. One thing to know up front: Jotform’s webhook system can’t send custom headers, so unlike some other integrations there’s no separate API-key header here — the key has to ride inside the URL itself. Treat the whole URL as a secret, not just the key portion.

Step 4: Add the Webhook Inside Jotform

In Jotform, open your form and go to Settings → Integrations → WebHooks, then:

  • Paste the webhook URL from Step 3 into the WebHooks field
  • Save / complete the integration

Jotform’s own help article walks through the same panel with screenshots: how to set up a webhook with Jotform.

Step 5: Send a Test Submission and Map Your Fields

Submit your own Jotform form once. Back in the BytePhase wizard, click Check now (it also polls automatically every few seconds). BytePhase reads Jotform’s raw submission payload and lists every field it found — Jotform prefixes each question key with q<N>_, which BytePhase strips off automatically, and multi-value answers (like checkboxes) are joined into a single value.

The wizard auto-matches obvious pairs by name — “email,” “mobile,” “name” and similar aliases map themselves — but mapping is required for Jotform: review every row and confirm at least one of email or mobile is mapped before you can continue. There are no server-side defaults or transforms; whatever you don’t map is preserved as a custom field automatically rather than dropped.

Note also that Jotform submissions aren’t signature-verified — Jotform doesn’t support sending a verifiable signature the way Typeform does, so BytePhase accepts anything posted to your webhook URL. That’s a reason to keep the URL private (more in Security below).

Step 6: Set the Duplicate Policy and Activate

Choose how repeat submissions are handled. The defaults are sensible starting points — Lead defaults to skip a repeat submission (matched by email OR mobile + country code); Self Check-in defaults to create a new record even for a returning customer (matched by mobile against any check-in still open). Review the summary screen and click Activate integration. Nothing goes live until you do.

Run Self Check-in and Lead Side by Side

You do not have to pick one for the whole account. A single integration can serve several forms at once, and each one carries its own destination and its own field map. BytePhase keys every entry by form and destination together, and the destination pinned in the URL is absolute — a Self Check-in URL will never fall through to a Lead entry or borrow its field mapping.

So an intake form can open a Self Check-in while a quote-request form raises a Lead, from the same Jotform account, running in parallel. Add the second form in the wizard, choose the other destination, and give it its own URL. The Activity log records which destination each submission was routed to, so the two never blur together.

Field Mapping Reference

Lead and Self Check-in are two different record types, so they accept two different sets of fields. Map as many as your Jotform form collects — anything left over is kept as a custom field, not discarded. Pick the table that matches the destination you chose in Step 2.

Lead fields

Use this table when the destination is Lead — an enquiry to follow up, before any device is handed over.

BytePhase FieldRequired?Notes
nameYesMax 60 characters
emailOne of email or mobileMax 255 characters
mobile_numberOne of email or mobileMax 20 characters
mobile_country_codeNoMax 10 characters; paired with mobile_number for duplicate matching
phone_numberNoSecondary phone number, max 20 characters
contact_person_nameNoMax 60 characters — for enquiries raised on behalf of a business
sourceNoMax 100 characters; matched to an existing lead source by name
role_idNoOne of 7, 8 or 9; defaults to End User when omitted
next_follow_upNoDate — schedules the first follow-up
commentNoFree text
device_typeNoMax 100 characters; matched to an existing device type by name
device_brandNoMax 100 characters; an unmatched value is kept as a custom brand name
device_modelNoMax 100 characters; an unmatched value is kept as a custom model name
address.address_lineNoMax 200 characters
address.cityNoMax 100 characters
address.stateNoMax 100 characters
address.zip_codeNoMax 20 characters

Duplicate handling: Leads default to Skip. BytePhase looks for an existing lead with the same mobile_number and mobile_country_code, or the same email, and reuses it instead of creating a second one.

Self Check-in fields

Use this table when the destination is Self Check-in — a customer handing in a device, so the record carries serial numbers, accessories and pickup details a Lead has no place for.

BytePhase FieldRequired?Notes
nameYesMax 255 characters
emailOne of email or mobileMax 255 characters
mobile_numberOne of email or mobileMax 20 characters
mobile_country_codeNoMax 10 characters
device_typeNoMax 255 characters; matched to an existing device type by name
device_brandNoMax 255 characters; an unmatched value is kept as a custom brand name
device_modelNoMax 255 characters; an unmatched value is kept as a custom model name
serial_numberNoMax 255 characters
serial_number_2NoMax 191 characters — a second serial or IMEI
device_passwordNoMax 191 characters — unlock code or device password
accessoriesNoA list, or a comma-separated string — split into individual items
commentNoFree text — the reported fault
is_recoveryNoBoolean — flags the job as a data-recovery case
is_pickup_bookedNoBoolean — marks that a pickup was requested
scheduled_onNoDate — the requested pickup or drop-off date
custom_fieldsNoObject; each value max 1,000 characters
address.address_lineNoMax 255 characters
address.cityNoMax 255 characters
address.stateNoMax 255 characters
address.zip_codeNoMax 20 characters

Duplicate handling: Self Check-ins default to Create, so every submission becomes its own check-in — the right behaviour when the same customer brings in a second device. Only if you change the policy to Skip does BytePhase look for a match, and it then matches on mobile_number against open check-ins only.

Testing & Monitoring Your Submissions

Every submission — successful, duplicate, failed, or simply received — shows up on the integration’s Activity screen, with both Jotform’s raw payload and the mapped version BytePhase saved. Use Send test to fire a synthetic submission without touching your live form, and the one-click Retry action to replay anything that failed once you’ve fixed the cause. Three failures in a row trigger a warning banner in the app; five in a row also send an email to your tenant’s support address. Submission logs are kept for 90 days.

Troubleshooting

SymptomLikely CauseFix
401 UnauthorizedThe token embedded in the webhook URL is wrong, or the key was rotated in BytePhaseRe-copy the full webhook URL from Settings → Integrations → Jotform and re-paste it into Jotform
422 Unprocessable EntityNeither email nor mobile is mapped, or a required field is missing from the submissionReopen the wizard’s field mapping step and confirm at least one contact field is mapped
status: duplicate in the Activity logThe submission matched an existing Lead or open Self Check-in under your duplicate policyExpected behavior — adjust the duplicate policy (skip/create) if it’s catching more than you want
The same submission creates two LeadsAn old or duplicate webhook is still attached to the form alongside the current oneOpen Settings → Integrations → WebHooks in Jotform and remove any extra entries, keeping only the current BytePhase URL
“Nothing detected” after clicking Check nowThe test submission wasn’t actually sent, or the webhook URL was pasted with a typo or trailing spaceSubmit the Jotform form yourself once, then click Check now again
429 Too Many RequestsMore than 60 requests per minute hit your webhook URLRare for a single form — if it recurs, check for a duplicate webhook firing on the same form

Security

Your API key is sha256-hashed at rest — BytePhase can verify it but can’t display it again, so save the URL somewhere safe the moment you copy it. Rotate it any time from the integration card; the old one stops working immediately. Because Jotform can’t send custom headers, the key rides inside the webhook URL’s query string rather than a header — that means it can end up in Jotform’s own delivery logs, so don’t paste the URL into a public form description, a screenshot, or a chat message, and rotate it periodically as routine hygiene. Submissions are isolated per tenant — this webhook only ever writes into your own BytePhase account.

Start Capturing Jotform Leads in BytePhase

Once activated, every Jotform submission becomes a Lead or Self Check-in in BytePhase without anyone re-typing a form response into your CRM. From a Self Check-in, converting to a repair ticket is one click once the device is actually in front of you. If your team runs Typeform instead, see our Typeform setup guide, which also supports signature verification; if you want more flexibility than a native webhook offers, the n8n integration guide and the Zapier guide cover the automation-platform routes. See every connector BytePhase supports on the integrations page.

BytePhase includes the Jotform integration on every plan, with a 15-day free trial and no credit card required. Start your free BytePhase trial →

Share Post
Akshay Ghalme

Akshay Ghalme

DevOps Engineer

Stay in a loop

Subscribe to our free Newsletter