← HTTP / Webhook + IFTTT integrations

Trigger Event with JSON with IFTTT API on New event when the content of the URL changes. from HTTP / Webhook API

Pipedream makes it easy to connect APIs for IFTTT, HTTP / Webhook and 1000+ other apps remarkably fast.

Trigger workflow on
New event when the content of the URL changes. from the HTTP / Webhook API
Next, do this
Trigger Event with JSON with the IFTTT API
No credit card required
Into to Pipedream
Watch us build a workflow
Watch us build a workflow
7 min
Watch now ➜
Trusted by 250,000+ developers from startups to Fortune 500 companies:
Trusted by 250,000+ developers from startups to Fortune 500 companies

Developers Pipedream

Getting Started

This integration creates a workflow with a HTTP / Webhook trigger and IFTTT action. When you configure and deploy the workflow, it will run on Pipedream's servers 24x7 for free.

  1. Select this integration
  2. Configure the New event when the content of the URL changes. trigger
    1. Connect your HTTP / Webhook account
    2. Configure Watching timer
    3. Configure HTTP Request Configuration
    4. Configure Emit body only
    5. Configure Emit as array
  3. Configure the Trigger Event with JSON action
    1. Connect your IFTTT account
    2. Configure Webhook Key
    3. Configure Event Name
    4. Configure JSON Payload
  4. Deploy the workflow
  5. Send a test event to validate your setup
  6. Turn on the trigger

Details

This integration uses pre-built, open source components from Pipedream's GitHub repo. These components are developed by Pipedream and the community, and verified and maintained by Pipedream.

To contribute an update to an existing component or create a new component, create a PR on GitHub. If you're new to Pipedream component development, you can start with quickstarts for trigger span and action development, and then review the component API reference.

Trigger

Description:Emit new event when the content of the URL changes.
Version:0.0.2
Key:http-watch-url

Trigger Code

import http from "../../http.app.mjs";
import hash from "object-hash";
import { DEFAULT_POLLING_SOURCE_TIMER_INTERVAL } from "@pipedream/platform";

export default {
  key: "http-watch-url",
  name: "New event when the content of the URL changes.",
  description: "Emit new event when the content of the URL changes.",
  version: "0.0.2",
  type: "source",
  dedupe: "unique",
  props: {
    http,
    timer: {
      type: "$.interface.timer",
      label: "Watching timer",
      description: "How often to watch the URL.",
      default: {
        intervalSeconds: DEFAULT_POLLING_SOURCE_TIMER_INTERVAL,
      },
    },
    httpRequest: {
      type: "http_request",
      label: "HTTP Request Configuration",
      description: "HTTP Request Configuration",
      default: {
        method: "GET",
      },
    },
    emitBodyOnly: {
      label: "Emit body only",
      description: "If set as true the emitted item will contain only the response body, otherwise, it will include the request status code.",
      type: "boolean",
      default: true,
    },
    emitAsArray: {
      label: "Emit as array",
      description: "If the request responds with an array, this source will emit changes individually for each item of the array.",
      type: "boolean",
      default: false,
    },
  },
  methods: {
    getMeta(data, status) {
      if (this.emitBodyOnly) {
        return data;
      }
      return {
        data,
        status,
      };
    },
    emitArray(event, response) {
      if (!Array.isArray(response.data)) {
        return this.emitAny(event, response);
      }
      for (const item of response.data) {
        const meta = this.getMeta(item, response.status);
        this.emit(event, meta);
      }
    },
    emitAny(event, response) {
      const meta = this.getMeta(response.data, response.status);
      this.emit(event, meta);
    },
    emit(event, meta) {
      const ts = event.timestamp || Math.round(Date.now() / 1000);
      this.$emit(meta, {
        id: hash(meta),
        summary: `Requested at ${ts}`,
        ts,
      });
    },
  },
  async run(event) {
    const response = await this.httpRequest.execute();
    if (this.emitAsArray) {
      this.emitArray(event, response);
    } else {
      this.emitAny(event, response);
    }
  },
};

Trigger Configuration

This component may be configured based on the props defined in the component code. Pipedream automatically prompts for input values in the UI and CLI.
LabelPropTypeDescription
HTTP / WebhookhttpappThis component uses the HTTP / Webhook app.
Watching timertimer$.interface.timer

How often to watch the URL.

HTTP Request ConfigurationhttpRequesthttp_request

HTTP Request Configuration

Emit body onlyemitBodyOnlyboolean

If set as true the emitted item will contain only the response body, otherwise, it will include the request status code.

Emit as arrayemitAsArrayboolean

If the request responds with an array, this source will emit changes individually for each item of the array.

Trigger Authentication

The HTTP / Webhook API does not require authentication.

About HTTP / Webhook

Get a unique URL where you can send HTTP or webhook requests

Action

Description:Trigger Event with an arbitrary JSON payload. [See docs](https://help.ifttt.com/hc/en-us/articles/115010230347-Webhooks-service-FAQ)
Version:0.0.2
Key:ifttt-trigger-event-with-json

IFTTT Overview

With the IFTTT API, you can build a wide variety of applications and
integrations. Here are just a few examples:

  • A to-do list app that adds new items to a spreadsheet
  • A weather app that sends you a notification when it's going to rain
  • A social media app that posts updates to a blog
  • An e-commerce app that track your order status and sends you shipping updates
  • A fitness app that logs your workout data and shares your progress with
    friends

Action Code

import ifttt from "../../ifttt.app.mjs";

export default {
  name: "Trigger Event with JSON",
  description: "Trigger Event with an arbitrary JSON payload. [See docs](https://help.ifttt.com/hc/en-us/articles/115010230347-Webhooks-service-FAQ)",
  key: "ifttt-trigger-event-with-json",
  version: "0.0.2",
  type: "action",
  props: {
    ifttt,
    webhookKey: {
      propDefinition: [
        ifttt,
        "webhookKey",
      ],
    },
    eventName: {
      propDefinition: [
        ifttt,
        "eventName",
      ],
    },
    data: {
      propDefinition: [
        ifttt,
        "data",
      ],
    },
  },
  async run({ $ }) {
    const response = await this.ifttt.callWebhookWithJSON({
      $,
      webhookKey: this.webhookKey,
      eventName: this.eventName,
      data: this.data,
    });
    $.export("$summary", `Triggered webhook ${this.eventName}`);
    return response;
  },
};

Action Configuration

This component may be configured based on the props defined in the component code. Pipedream automatically prompts for input values in the UI.

LabelPropTypeDescription
IFTTTiftttappThis component uses the IFTTT app.
Webhook KeywebhookKeystring

The webhook key obtained in Webhook Settings

Event NameeventNamestring

The event name associated with your applet

JSON Payloaddataobject

A JSON payload to be sent

Action Authentication

IFTTT uses API keys for authentication. When you connect your IFTTT account, Pipedream securely stores the keys so you can easily authenticate to IFTTT APIs in both code and no-code steps.

A request that includes an IFTTT-Service-Key header containing your service key, found in the API tab of the IFTTT Platform under the Service Key heading.

About IFTTT

Every thing works better together

More Ways to Connect IFTTT + HTTP / Webhook

Trigger Event with JSON with IFTTT API on New Requests (Payload Only) from HTTP / Webhook API
HTTP / Webhook + IFTTT
 
Try it
Trigger Event with JSON with IFTTT API on New Requests from HTTP / Webhook API
HTTP / Webhook + IFTTT
 
Try it
Trigger Event with Values with IFTTT API on New Requests (Payload Only) from HTTP / Webhook API
HTTP / Webhook + IFTTT
 
Try it
Trigger Event with Values with IFTTT API on New Requests from HTTP / Webhook API
HTTP / Webhook + IFTTT
 
Try it
Trigger Event with Values with IFTTT API on New event when the content of the URL changes. from HTTP / Webhook API
HTTP / Webhook + IFTTT
 
Try it
New Requests from the HTTP / Webhook API

Get a URL and emit the full HTTP event on every request (including headers and query parameters). You can also configure the HTTP response code, body, and more.

 
Try it
New Requests (Payload Only) from the HTTP / Webhook API

Get a URL and emit the HTTP body as an event on every request

 
Try it
New event when the content of the URL changes. from the HTTP / Webhook API

Emit new event when the content of the URL changes.

 
Try it
Send any HTTP Request with the HTTP / Webhook API

Send an HTTP request using any method and URL. Optionally configure query string parameters, headers, and basic auth.

 
Try it
Send GET Request with the HTTP / Webhook API

Send an HTTP GET request to any URL. Optionally configure query string parameters, headers and basic auth.

 
Try it
Send POST Request with the HTTP / Webhook API

Send an HTTP POST request to any URL. Optionally configure query string parameters, headers and basic auth.

 
Try it
Send PUT Request with the HTTP / Webhook API

Send an HTTP PUT request to any URL. Optionally configure query string parameters, headers and basic auth.

 
Try it
Return HTTP Response with the HTTP / Webhook API

Use with an HTTP Source that uses Return a custom response from your workflow as its HTTP Response

 
Try it