Send Smart Group Changes Information From Jamf To IFTTT

Jamf allows you to register a webhook, IFTTT can trigger an action based on a webhook and then has a number of awesome services you can link the ingredients, or variables, that are caught by that webhook listener into other services. One of the easiest ways to see this kind of action is to just journal the response of a registered webhook into a Google Doc. This allows you to see what’s happening on the fly.

Next, you’ll need an IFTTT Platform account. This allows you to create new IFTTT services. Then, create a new service, using the Add Service icon in the top nav bar.

When the service is created, find the API tab and add the service API location URL.

Here, create new trigger, editing [host]/ifttt/v1/test_trigger as endpoint and add “ingredients” these are custom fields. Those properties are parsed in the php file (e.g. name, computer, jssid, etc.).

Now you can go back to IFTTT main site and create a new applet. To do so, search for your service name and click on your trigger for the previous portion – (e.g. Google Sheets).

Parse the webhook output into columns

Finally, in Jamf Pro, add a new webhook which will call the service API’s [host]/ifttt/v1/store endpoint. The php for a service to parse smart group changes would be as follows:

And the entry in your Google Sheet would be similar to the following.

Allow Connections From Other Hosts With IIS Express

IIS Express is a simple web server that can run on Windows with a couple of easy features for developers of Windows applications. This includes things like, webhooks, a modern way of accepting POST requests and responding to them. Each IIS Express site is managed on a user basis, as it’s written as a tool to assist with development. Many web applications will attempt to communicate with one another via a specific port. And when you’re using IIS Express, you’ll need to create a socket binding to that port and allow external users to connect (again, by default, IIS Express is configured for developers to test code on their own machines). To do so, open the IIS Express config file at %userprofile%\documents\iisexpress\config\applicationhost.config (note that the userprofile is here as it’s again, per user). By default, bindings will restrict to localhost as you can see below: <binding protocol="http" bindingInformation="*:8443:localhost" /> Copy this line and paste it below the first instance, replacing the localhost with * (make sure to leave the first line or your dev tools can’t connect to the server): <binding protocol="http" bindingInformation="*:8443:*" /> Again, make sure to leave the first binding in place. Then restart the server and you’re good.