influxdata / influxdata/kapacitor

IFTTT Webhooks event handler

Open
#2,147 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Go
Stars
2.4k
Forks
479
Avg merge
4d 16h
Merged PRs (30d)
4

Description

If This Than That ([IFTTT](https://ifttt.com/)) is a platform that lets users integrate different services with each other, by creating applets, that have one "this" which triggers an action on one "that" side. One very flexible input (this), is their [Webhooks](https://ifttt.com/services/maker_webhooks) service. Supporting that with the AlertNode would enable a lot of extra integrations very easily.

The way Webhooks work is making a `POST` query to:

```
https://maker.ifttt.com/trigger/{event}/with/key/{key}
```
where `{event}` is a user configurable event name (that is used in one particular applet's recipe), and `{key}` is a user-specific key.

The query *optionally* can have a JSON payload with up to 3 variables: `{ "value1" : "", "value2" : "", "value3" : "" }`, and the "that" recipe can use these values to do something with them.

While in all likelihood there's some way to make AlertNode's `.post()` to work with this (with the right template as the default is insufficient, setting the right headers, etc..), it's quite cumbersome (and I personally haven't managed it so far, but that might be a personal failing:). It would be quite powerful to have a full-fledged integration (that would basically need to set the `event` and the `key`, and optionally `value1/2/3`) and get on with it.

Contributor guide

Open the contributing guide

Research direction

Start by locating AlertNode and its existing .post() behavior, then trace how alert integrations configure requests. Compare that path with the IFTTT Webhooks endpoint and its optional value1/value2/value3 payload. Done means users can configure the event and key, optionally provide the three values, and send a valid Webhooks request.

Written by the indexing model from the issue text.

Assessment

Tech stack
go
Domain
api, backend
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.