Microsoft Teams Logo

Publish content to your screens directly from Microsoft Teams

Learn More ScreenCloud Banner Arrow
ScreenCloud Close Icon
    Product

    Digital Signage

    What is Digital Signage?What is ScreenCloud?HardwareAppsProduct UpdatesSecurityDashboards

    Partnerships

    ChromeOSMicrosoft
    Solutions

    Case Studies

    Recomended case study thumbnailHow Ricoh UK Products Limited Uses ScreenCloud to Improve Efficiency and Enable a Well-Informed and Connected Workforce
    Show all case studiesScreenCloud arrow
    Pricing
    Resources
    Login
Get DemoFree Trial
PricingLogin

Digital Signage

What is Digital Signage?What is ScreenCloud?HardwareAppsProduct UpdatesSecurityDashboards

Partnerships

ChromeOSMicrosoft

Industries

ManufacturingFood & BeveragesRetailEducationHealthcareFitness, Leisure & Culture

Use Case

Employee Facing ScreensScreen Network Management

Case Studies

Recomended case study thumbnailHow Ricoh UK Products Limited Uses ScreenCloud to Improve Efficiency and Enable a Well-Informed and Connected WorkforceShow all case studiesScreenCloud arrow
Get DemoFree Trial
Resources
>

PUT vs POST: Understanding How Webhooks Pass Data Between Apps

A guide for people who are new to DIY automation and experimenting with one of the most versatile tools on the web.

ScreenCloud Post Image

When someone RSVPs to your webinar, the details get added to a spreadsheet. When a customer submits a help request form, it pings your support team’s Slack channel. Some apps are built to communicate with others. You set up an integration and data moves back and forth, no problem. Other software requires a few extra steps to connect. 

Automation platforms like Microsoft’s Power Automate and Zapier are one way to get apps to share data with each other. But what if you want to create an automation for software that isn’t in their directories? Chances are good that setting up a webhook will work.

Brief recap: What is a webhook?

A webhook is an event-driven way to move data between two separate, unconnected systems. For example, you might want to automatically send data from your CRM to a TV powered by digital signage, without manually copying and pasting the data, or even opening the app. Software that supports sending data to other apps via webhooks will include a field to enter a webhook destination URL and select which app data to send. Software that supports receiving data from webhooks will include a unique webhook URL that you can copy to use in other software.

First, you need a URL from your application that will “catch” properly formatted data and do something with it. One of the simplest options is webhook.site, a platform that allows you to test webhooks without signing up for an account. Start by clicking Open in new tab (next to the address under Your unique URL). Leave the new tab open, go back to your webhook.site window, and you should see a new request in the left-hand sidebar. The webhook endpoint noticed that you opened a connection, and it logged some information about your browser, IP address, etc.

Now, let’s add some data to the request. Back in the tab with your webhook URL, add this text after the last character: ?data1=hello&data2=world. Hit enter, and you’ll see that your test webhook received two separate variables – data1 and data2 – hello for the first value and world for the second. 

Adding a question mark followed by variables doesn’t always work, though. It depends on how the webhook’s server is set up. In your webhook.site window, you can see that adding the ?key=value format is marked as a GET request, which is typically used for searching a database and generating a response. Search for a product on Amazon, and you’ll see the GET formatting in your address bar. 

So what if, instead of trying to GET a response from a webhook (e.g. search results), you want to send some information and update a record or database value? Then, you’ll need to use either a PUT or POST request.

What’s the difference between a PUT and POST webhook?

For anyone who isn’t a web developer, the differences between PUT and POST requests are usually too insignificant to matter. Both can send new data to an endpoint. And in some cases, the app you’re trying to connect to will only allow one of the two options. If you’re curious, though, there are a few differences between PUT and POST webhooks.

When you send a POST request to a server, you're usually asking it to create a new record in its database. Making several POST requests with the same data might result in duplicate but separate records, like when you save an email attachment twice, and your computer adds (1) to the end of the most recent download. Most of the time, when you make a POST request, the confirmation message will include an ID for the new record.

For some use cases, this is totally fine. You might create a form for users to submit comments, then use a webhook to send their text to OpenAI’s moderation tool before putting it up on a big screen. Create a new record for each comment, and send it to your signage – that’s all that matters.

PUT requests, on the other hand, can create a new record or update an existing one. When you send a PUT request, you're being more specific. You're telling the server, "Place this data here. If there's already something there, replace it." An automated leaderboard is a great example. Any time a player’s score is updated in a spreadsheet, send a PUT request that refreshes everyone’s scores based on new data – there’s no reason to create a new record every time. 

Let’s walk through the process of sending a PUT request to a webhook.

How to use a PUT request to update text on a smart TV

Webhook testers like webhook.site are great for grasping the basics. But they’re limited. If you want to experiment with an easy way to send data to a webhook and turn it into something more professional, start by signing up for a free trial of ScreenCloud to build webhook-powered digital signage. 

Log in and search for Playgrounds from the Apps tab along the left-hand side of the screen. Click the blue Get button, followed by the New Instance button, and select Big Number from the template window. You should see three columns for JavaScript, CSS, and HTML. Don’t worry if these look like gibberish to you, just hit the Preview button to see what the output looks like. The small text on this page is static, it won’t change. The number, however, you can update with a webhook PUT request.

Back in your three-column view, click the Application Data button in the upper right corner of the screen. Copy the URL from the bottom of the window and then exit Playgrounds with the Save & Close button. 

PUT webhooks in Command Prompt or Terminal

Now, if you’re on a PC, open the Start menu, type ‘command’, and open Command Prompt. If you’re on a Mac, click the magnifying glass in the upper right corner of your screen, type ‘terminal’, and open it.  

Paste the following command, with your webhook URL replacing the YOUR_WEBHOOK_URL with your ScreenCloud webhook URL, and adding any number you’d like after "number\":\

curl -X PUT -H "Content-Type: application/json" -d "{\"data\": {\"number\":\"987,654\"}}" YOUR_WEBHOOK_URL

Open your Playgrounds instance in ScreenCloud and check your updated page! While this approach may seem a bit wonky, it comes in handy when working with DIY automation tools like Apple’s Shortcuts or AutoHotKey for Windows. For example, you could create a basic script so that any time you highlight text and press a custom keyboard shortcut, it replaces the ‘number:’ value with whatever you highlighted and runs the command in the background

Browser-based PUT requests for webhooks

With Postman, you can accomplish the same thing without even leaving your browser. Just create a free account and click the ‘+’ symbol next to the Overview tab along the top of the screen. Change from a GET request to PUT, paste your webhook URL into the textbox, and open the Body window. 

Choose the raw option and switch the Text dropdown to JSON. This time, let’s spell out the number, just to see how it looks on your signage. Copy this and put it into the textbox below the JSON dropdown menu:

"data":
"number": "Thirty-nine!"}
}

This approach is quite a bit less fussy than the command line option. And, as an added bonus, Postman will save this window, so any time you log in you can simply update the value without reconfiguring the request. But updating the number still requires a few manual actions on your part, so let’s take a look at a more automated approach.

Automate webhook PUT requests in Zapier

At the end of the day, you probably don’t want to manually update your signage. Even if it’s as easy as right-clicking an image and clicking Send to Signage. When something gets updated in one app, your screens show the new value, without any input from you. To do that, you’ll need an automation platform like Zapier.

Create an account or log into an existing one and click on the ‘+’ button. You can either create a Zap manually or play around with the natural-language Zap creator. With the latter, for instance, you could enter, “Any time a new row is added to my spreadsheet, send one of the cell’s values to a webhook.” The only hiccup with that is webhook functionality is a paid feature in Zapier. But for our use case, there’s an easy workaround. 

After setting up your trigger – which doesn’t necessarily have to be a new spreadsheet row – add the Run Javascript in Code by Zapier action. In the Action window, put something like MyNumber in the Input Data field. Then, next to that, select the value from your trigger step that you want sent to your webhook (e.g., a specific cell value). Finally, paste this into the Code window:

const response = await fetch('YOUR_WEBHOOK_URL', {
method: 'PUT', // Specifies the HTTP method
headers: {
'Content-Type': 'application/json', // Specifies the content type
},
body: JSON.stringify({ data: { number: inputData.MyNumber } }), // Adjusted to the desired format
});

const data = await response.json();

output = { result: data };

Insert your webhook URL on the second line and test it out. Any time your trigger step is activated, it should create a PUT request to your webhook that sends the most recent value. All with exactly zero input from you. It’s an excellent strategy for providing useful, up-to-the-minute updates in a fast-paced business setting. And if you want a simpler way to manually update your signage, you could add your webhook to Siri or Google Assistant to update your signage with a voice command.

Automate your internal communications and employee engagement

You’ve got everything you need to create dynamic, interesting signage for your customers and staff. The ScreenCloud app store includes more than 70 integrations that connect you to the software you already use, no webhooks necessary. For any apps that aren’t listed, the Embed App and Dashboards features can probably solve your issue (check out our Airtable for digital signage guide for more info). 

But sometimes, you just want to build your solution your way. If you’re technical enough to handle ScreenCloud’s GraphQL API and know your way around webhook automation, you can build just about anything. Grab a free 14-day trial and get started today!

 SC Gradient

Ready to get your organization connected?

Connect your first screen today with our 14-day free trial

Free TrialBook Demo
articles