Zapier Integration
Zapier connects NetLicensing to other apps. There are two parts: the NetLicensing app in Zapier, and the generic Webhooks by Zapier app for everything the NetLicensing app does not cover.
The NetLicensing app
The app on Zapier’s NetLicensing page offers:
| Type | Name | What it does |
|---|---|---|
| Trigger | New Licensee | Starts a Zap when a licensee (customer) is created |
| Trigger | New Product | Starts a Zap when a product is created |
| Action | Create Licensee | Creates a licensee. Fields: ProductNumber (required), Name, Number, Active, Email, Address1, Zip, Country, CompanyName, FullName |
| Action | Create Product | Creates a product. Fields: Name (required), Number, Active, Version, LicenseeAutoCreate, Description, LicensingInfo |
| Search | Find Licensee, Find Product | Finds one by its number |
| Search or create | Search or Create Licensee, Search or Create Product | Creates it if it does not exist |
Zapier lists both triggers as polling: Zapier checks for new data every 15 minutes on its Free plan.
Not in the app: actions for licenses (create, extend or deactivate) and a trigger for new licenses. Use Webhooks by Zapier for those, as shown below.
Connect the app
- In the Management Console, open Settings / API Access and create an API key. Use
ROLE_APIKEY_OPERATIONif you need to manage customers and licenses, andROLE_APIKEY_MAINTENANCEif you also need to manage products. - In Zapier, add NetLicensing to a Zap and connect the account with the API key.
The app’s source code is on GitHub.
React to NetLicensing events: Catch Hook
Zapier’s Webhooks by Zapier app has the trigger Catch Hook. It gives the Zap a unique URL (of the form https://hooks.zapier.com/hooks/catch/...) that accepts GET, PUT or POST requests and parses the request body.
- In a new Zap, choose Webhooks by Zapier and the event Catch Hook. Copy the URL.
- In the Management Console, open Settings / Notifications and create a notification of type
WEBHOOKwith that URL as the endpoint, and select the events you need. - Add the steps you want after the trigger. The event name is in the payload at
entities.Event[0].name:LICENSEE_CREATED,LICENSE_CREATED,PAYMENT_TRANSACTION_PROCESSEDorWARNING_LEVEL_CHANGED. See Notifications for the payload of each event.
This covers the missing “new license” trigger: select the LICENSE_CREATED event.
Act in NetLicensing: Custom Request
Zapier’s Webhooks by Zapier app also has the action Custom Request, with the fields Method, URL, Data, Basic Auth and Headers. Use it to call any REST API endpoint, for example to issue a license after a payment in another app.
| Setting | Value |
|---|---|
| Method | POST |
| URL | https://go.netlicensing.io/core/v2/rest/license |
| Data | licenseeNumber=CUST-1001&licenseTemplateNumber=EUJK1BXQ52 |
| Headers | Content-Type: application/x-www-form-urlencoded, Accept: application/json, and Authorization: Basic <base64 of apiKey:YOUR_API_KEY> |
The License Services page lists all parameters. To deactivate a license, POST active=false to /license/{licenseNumber}. Test every step with Zapier’s step tester before you turn the Zap on.
Example: tell your team about a new customer
- Trigger: Webhooks by Zapier, Catch Hook, with a NetLicensing notification on
LICENSEE_CREATED. - Action: any Zapier app, such as email or chat, using the customer
nameandnumberfrom the payload.
Example: create a license when a payment succeeds elsewhere
- Trigger: the payment app of your choice.
- Action: Create Licensee from the NetLicensing app.
- Action: Webhooks by Zapier, Custom Request, to create the license as shown above, with the licensee number from step 2.
For platforms with their own webhooks and signature checks, see the billing platform guides.
Example: the calls
NetLicensing Automation tool Other apps / NetLicensing
| | |
| notification (POST) -->| trigger: webhook |
| | steps: filter, map |
| | action: HTTP request ------->| e.g. POST /license
| | |
1. Test your Catch Hook URL
Send a NetLicensing-shaped event to the hook before you create the notification, so the Zap editor can show you the fields:
curl --request POST "https://hooks.zapier.com/hooks/catch/<account>/<hook>/" \
--header "Content-Type: application/json" \
--data '{
"timestamp": "2024-09-19T04:30:26.006Z",
"origin": "Notification",
"entities": {
"Event": [ { "name": "LICENSE_CREATED" } ],
"License": [ { "number": "LN2TD47QY", "active": true, "licensee": "IKWUYQ9GR", "licenseTemplate": "E27NV3IQD" } ]
}
}'
The body is the LICENSE_CREATED notification from the Notifications page.
2. The call behind Custom Request
The Custom Request settings above send exactly this request. Run it with curl first to check the API key and numbers:
curl --user "apiKey:$NETLICENSING_API_KEY" --header "Accept: application/json" \
--data "licenseeNumber=CUST-1001&licenseTemplateNumber=EUJK1BXQ52" \
https://go.netlicensing.io/core/v2/rest/license
--user sends the same Authorization: Basic <base64 of apiKey:YOUR_API_KEY> header that you enter in Zapier.
Sources
- Zapier: NetLicensing integrations
- Zapier: Webhooks by Zapier
- Zapier: Trigger Zap workflows from webhooks
- NetLicensing-Zapier on GitHub