Enter your admin PIN to continue
Enter your Anthropic API key to enable automatic AI rewriting of technician notes when queuing jobs. The key is stored in this browser only and never sent anywhere except Anthropic's API.
Auto-imports completed Jobber jobs as pending records. Deploy the worker, then paste its URL below.
Run this in the Supabase SQL Editor before using Backfill or Fetch Photos.
ALTER TABLE public.points_of_propane ADD COLUMN IF NOT EXISTS jobber_id text, ADD COLUMN IF NOT EXISTS jobber_job_number text; CREATE UNIQUE INDEX IF NOT EXISTS pop_jobber_id_unique ON public.points_of_propane (jobber_id) WHERE jobber_id IS NOT NULL;
Fetches all jobs from Jobber and matches them to existing Supabase records
by job number, writing the Jobber node ID into the jobber_id column.
Run this once to enable the photo fetcher on pre-existing records.
Finds records where photo_urls is null or empty,
checks Supabase storage for matching files under each job's prefix, and re-links them.
Use this to recover photos wiped by the import PATCH bug.
Fetches the first 5 rows from points_of_propane and shows raw JSON —
id, description,
jobber_id, jobber_job_number.
Use this to verify whether jobber_id is truly NULL before running Backfill.
Re-fetches those 5 Supabase records, extracts job numbers via /#(\d+)\s*$/,
then pulls page 1 from Jobber and shows whether the numbers overlap.
Strips Jobber ticket references (e.g. — #1234) from all
description fields. Queries every record, strips the pattern
/\s*[-—]+\s*#\d+/g from any that match, and PATCHes them back.
Drag & drop your Jobber CSV here
Accepts .csv files only