Start here
Receive your first event
Create a key, check the connection and register your receiver for captured leads and booking events.
1. Create an integration key
Open Integrations, find “Zapier, Make or a webhook”, then select Create key. Copy the key immediately: it is shown once. Store it in your server’s secret manager or a local environment variable. Do not paste it into browser code, a public repository or a URL.
export PONGG_API_KEY='REPLACE_WITH_YOUR_PONGG_KEY'2. Check authentication
curl --request GET \
'https://app.pongg.com/api/zapier/perform-list?limit=3' \
--header "Authorization: Bearer $PONGG_API_KEY"A 200 response is a JSON array. With no delivery records, it contains a synthetic example. With existing records, the preview carries record identifiers, source and booked status, but no captured name, phone or email; summary and job_type are empty. This is not a history or transcript endpoint.
The same read in your application
These examples use built-in HTTP clients, not a Pongg SDK. Set PONGG_API_KEY in the server environment first.
const response = await fetch('https://app.pongg.com/api/zapier/perform-list?limit=3', {
headers: { Authorization: `Bearer ${process.env.PONGG_API_KEY}` }
});
if (!response.ok) throw new Error(`Pongg returned HTTP ${response.status}`);
const records = await response.json();
console.log('Preview records:', records.length);import json
import os
import urllib.request
request = urllib.request.Request(
'https://app.pongg.com/api/zapier/perform-list?limit=3',
headers={'Authorization': 'Bearer ' + os.environ['PONGG_API_KEY']},
)
with urllib.request.urlopen(request, timeout=15) as response:
records = json.load(response)
print('Preview records:', len(records))3. Prepare your receiver
Use a public HTTPS endpoint your company controls. It must accept a JSON POST and acknowledge quickly after your application has safely accepted the event. First run the local receiver example with synthetic data. Pongg will not deliver to localhost, private networks or cloud metadata addresses.
4. Register the public URL
Replace the example targetUrl with your receiver. The all subscription receives both lead and booking events; lead is the default if event is omitted.
curl --request POST 'https://app.pongg.com/api/zapier/subscribe' \
--header "Authorization: Bearer $PONGG_API_KEY" \
--header 'Content-Type: application/json' \
--data '{"targetUrl":"https://your-receiver.example.com/pongg","event":"all"}'{"id":"11111111-1111-4111-8111-111111111111"}Keep the returned subscription id. A 201 acknowledgement means the subscription was saved. Pongg does not check reachability at subscription time.
5. Verify one approved workflow
Arrange a labelled test call with your Success Team, in the intended account and with the intended CRM-routing policy. Compare the received event with the call result. Do not assume every call creates a CRM push: account mode, call classification and routing rules can prevent one. A booked call produces a booking event instead of a lead event.
In a booking event, inspect appointment.status. requested needs confirmation by the business. scheduled means the canonical appointment was marked scheduled; the event itself is not an independent CRM write receipt. Verify the actual provider record before telling a customer a write was completed.
6. Remove an unused subscription
curl --request DELETE \
"https://app.pongg.com/api/zapier/subscribe/$SUBSCRIPTION_ID" \
--header "Authorization: Bearer $PONGG_API_KEY"Success is 204 with no body. Another account’s id, or an already removed id, returns 404. Active keys for the same Pongg account can manage that account’s subscriptions. Turning off a key prevents that key from making API requests; it does not automatically remove subscriptions created earlier.
Using Zapier or Make
The Pongg Zapier app uses the same three endpoints. Use its New Lead or New Booking instant trigger and paste your Pongg key when connecting. For Make, use the same API directly or paste your Catch Hook URL into the Pongg integration card. There is no separate Make API or general booking API behind this key.
