Introducing Integrations

At Particle, our goal is to empower you to bring the physical and digital worlds together, unlocking new possibilities and solutions to complex problems. From data visualization, to business intelligence, to analytics, to data storage (and so much more!), it’s clear that the usefulness of a connected device is amplified tremendously when paired with the power of the digital world.

That’s why we’re incredibly excited to announce the launch of Integrations. It’s a new feature of the Particle platform that is designed to drastically simplify how data is piped out of Particle, and into wherever you want it to go. You can find your Integrations hub on the Particle Dashboard.

What it does

The Integrations hub on the dashboard is your place to manage how your data is sent out of Particle to other tools and services across the web.

The first integration that is available today is webhooks, a flexible way to send your Particle data anywhere. You may be already using webhooks that you have created from the Particle CLI, or by hitting the Particle API directly. Up until this point, there was no place to easily manage your Particle webhooks without using a Terminal. With the new Integrations hub, you can now view, create, and remove your webhooks all from the dashboard. Nice!

Moving forward, Particle is working hard to bring you tighter integrations with specific tools and services that will make funneling your data even easier. Stay tuned for updates on new Integrations coming soon!

How to use it

To get started, visit your Integrations Hub on the Particle Dashboard. If you have previously created any webhooks, they will appear automatically here. The default Integration tile will show you a preview of the webhook, including:

  • What URL the webhook is targeting
  • What event triggers the webhook
  • Which of your devices triggers the webhook

If you have never used webhooks before, you may want to check out the Webhooks Guide on the docs to learn more about what webhooks are and how they work. In the future, other enabled integrations will appear here.

To create a new Integration, click on the “New Integration” tile, then click “Webhook.” Pretty easy so far, right? :smile:

This will launch you in to the “Webhook Builder,” an interactive form that will help you create the webhook of your dreams:

You’ll be able to set the name of the event to trigger the webhook, the URL it should send the data to, the HTTP Request Type, which of your devices should trigger the webhook, and a slew of other advanced settings.

Once created, you should see the webhook appear in your list of Integrations. Congrats! You’re done! You can always click on the Integration tile to get a more detailed view of the webhook:

We’re excited for you all to try out Integrations and incorporate them into your products and projects! If you’d like more info on webhooks to get started, check out the guide .

26 Likes

Hello @Jeiden, this is really a great news !
Really good to see, that after sending the Electron you guys finally have time for other stuff !

Obvious question there:
Do this integrations work with organizations ?
I can’t find the integrations hub in organizations dashboard, can you elaborate a little bit ?

(And thanks for the authentication tab, really helpful :grinning:)

4 Likes

Hey @kefir135!

I probably should have mentioned this in my post. We are working hard on building out webhooks for orgs/products right now. Our goal is to have it done by the end of the month. The hope is to have the integrations page support webhooks for orgs as well, at the time of launching this feature.

Stay tuned!

Jeff

6 Likes

Thanks, I will for sure !
:smile:

nice addition!
It would be awesome to be able to edit the integrations.
Right now I see we can only add and delete them (same from the Particle CLI).
I guess it's already in the plans, but I had to ask :smile:

seems like this happened yesterday!

Being able to create webhooks directly from the dashboard is really exciting! Now I will not need to figure out the CLI process for doing it which is nice!

I’ll be testing this out soon as I want to pull local weather data using a Webhook and this will be my first attempt at doing it via using this new interface.

Keep up the good work guys!

Good start, looking forward to seeing edit, copy, stats, logs, etc :slight_smile:

This is awesome. Good job @jeiden and @Dave!!

This is great. Since my webhooks have stopped working (I don’t know why), I re-created them using the new interface.
The first one went OK, but for the second one, I went too fast, and I wrongly added a new row for HTTP headers. Even though I deleted it with the X button, an empty header was added to the webhook, so it was not working.

Headers:
{
  "": ""
}

I guess that’s a minor bug to correct.
Also, an edit function would be great! It will save lot of time during debugging when trying to get the proper pattern to work.

Keep up with the great job!

1 Like

@jeiden Just wanted to say I used the new Webhook builder and it worked perfectly for me. I have never installed the CLI software so this is online builder looks to be so much quicker and less complicated than having to go that route.

I agree with @Fabien though a webook edit button would be nice since I had to delete my webhook quite a few times to get it just right.

Either way this is a huge improvement and I’m looking forward to the other integration’s.

Hey all,

Thanks for your excitement and enthusiasm! I’m so thrilled to hear you all have found Integrations to be valuable so far. Clearly there is a need to add an update/edit behavior to webhooks, which I’ve added to our backlog!

Also, thanks for the heads up on the key/value issue @Fabien. Will look into that soon.

Jeff

3 Likes

thank you for the tip. I thought I did something wrong in the firmware of my photons with few changes some days ago, but when I re-created the webhooks they started to work right away.
you saved me some troubleshooting! :+1:

I’m not sure if it’s already on the ToDos or was mentioned somewhere else, but a REACTIVATE button for already present but “dead for some reason” webhooks would be good.
Instead of requiring the user to drop and recreate a “stalled” webhook, this could be molded into a single click action.
Also COPY and EDIT might be nice :wink:

3 Likes

Adding to @ScruffR suggestion, it would be nice to have a status field. That way one will know when to press the **reactivate" button.

3 Likes

Or have Particle refresh webhooks automatically when it is detected they are not in a good state (eg, 3 failures in a row).

2 Likes

or fix the issue on why the webhooks go stale :slight_smile:
@jeiden may you know if this issue with the webhooks going stale is on Particle’s radar?

That wouldn't really be a good criteria since there are valid reason why a hook fails. Pushing past the limits is one of them, and receiving ends having issues in another. Reactivating automatically them is therefor not always the best option.

It's very hard to detect/test since it only happens every couple of thousand hooks. That said, I believe @Dave is looking into this.

1 Like

But going permanently offline due to 10errors is not ideal either, that means your product would stop sending data in the middle of the night due to a short internet disruption at the server side, and would not recover before someone resets the webhook manually.
IMO that just asks for people to write a script to call the api automatically to reset the webhook every hour :slight_smile:

Whereas if you used direct http it would recover when the server comes back, be it 10 or 10k retries later.

2 Likes

Hi All!

I’ve deployed an adaptive heartbeat solution for webhooks that attempts to detect if a hook has gone stale, and automatically re-initialize the hook. I’m considering this a band-aid fix for the issue, but my hope is that you should no longer see hooks become unresponsive after days or weeks. It’s a band-aid because if it does go stale, a few events may be missed, but it should auto-recover eventually.

We’ll continue to improve this over time of course, but my hope is that this will address 95% of this particular issue when it does happen.

Thanks!
David

4 Likes