← HTTP / Webhook + Pushbullet integrations

Send push (Note, Link and File) with Pushbullet API on New Requests (Payload Only) from HTTP / Webhook API

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

Trigger workflow on
New Requests (Payload Only) from the HTTP / Webhook API
Next, do this
Send push (Note, Link and File) with the Pushbullet API
No credit card required
Into to Pipedream
Watch us build a workflow
Watch us build a workflow
7 min
Watch now ➜

Trusted by 500,000+ developers from startups to Fortune 500 companies

Adyen logo
Brex logo
Carta logo
Checkr logo
Chameleon logo
DevRev logo
LinkedIn logo
Netflix logo
New Relic logo
OnDeck logo
Replicated logo
Scale AI logo
Teamwork logo
Warner Bros. logo
Xendit logo

Developers Pipedream

Getting Started

This integration creates a workflow with a HTTP / Webhook trigger and Pushbullet 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 Requests (Payload Only) trigger
    1. Connect your HTTP / Webhook account
  3. Configure the Send push (Note, Link and File) action
    1. Connect your Pushbullet account
    2. Select a Device
    3. Optional- Configure Email
    4. Optional- Configure Channel Tag
    5. Select a Push Type
  4. Deploy the workflow
  5. Send a test event to validate your setup
  6. Turn on the trigger

Details

This integration uses pre-built, source-available 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:Get a URL and emit the HTTP body as an event on every request
Version:0.1.1
Key:http-new-requests-payload-only

Trigger Code

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

// Core HTTP component
// Returns a 200 OK response, emits the HTTP payload as an event
export default {
  key: "http-new-requests-payload-only",
  name: "New Requests (Payload Only)",
  // eslint-disable-next-line
  description: "Get a URL and emit the HTTP body as an event on every request",
  version: "0.1.1",
  type: "source",
  props: {
    // eslint-disable-next-line
    httpInterface: {
      type: "$.interface.http",
      customResponse: true,
    },
    http,
  },
  async run(event) {
    const { body } = event;
    this.httpInterface.respond({
      status: 200,
      body,
    });
    // Emit the HTTP payload
    this.$emit({
      body,
    });
  },
};

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
N/AhttpInterface$.interface.httpThis component uses $.interface.http to generate a unique URL when the component is first instantiated. Each request to the URL will trigger the run() method of the component.
HTTP / WebhookhttpappThis component uses the HTTP / Webhook app.

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:Send a push to a device or another person. [See docs here](https://docs.pushbullet.com/#create-push)
Version:0.0.1
Key:pushbullet-send-push

Pushbullet Overview

The Pushbullet API is a great tool for building applications that can do a wide
variety of tasks. From pushing notifications to sending messages, the
Pushbullet API is a powerful resource for developers. Here are a few examples
of what you can build using the Pushbullet API:

  • Mobile Apps - Using the Pushbullet API, you can create mobile apps that use
    Pushbullet's notifications and messaging to send messages and information to
    users.
  • Chatbots - Chatbots can be created using the Pushbullet API to interact with
    users.
  • Real-time Alerts - With the Pushbullet API, you can create applications that
    send real-time alerts to users, such as notifications about weather or
    important news.
  • Reminders & Tasks - Pushbullet's API can be used to create applications that
    allow users to set reminders and tasks by sending them messages and
    notifications.
  • Automation - Automation applications can be built using the Pushbullet API to
    automate tasks, such as setting up daily reminders or sending out messages
    and notifications on a regular basis.

Action Code

import pushbullet from "../../pushbullet.app.mjs";
import constants from "../common/constants.mjs";

export default {
  name: "Send push (Note, Link and File)",
  version: "0.0.1",
  key: "pushbullet-send-push",
  description: "Send a push to a device or another person. [See docs here](https://docs.pushbullet.com/#create-push)",
  type: "action",
  props: {
    pushbullet,
    device: {
      propDefinition: [
        pushbullet,
        "device",
      ],
    },
    email: {
      label: "Email",
      description: "Send the push to this email address. If that email address is associated with a Pushbullet user, we will send it directly to that user, otherwise we will fallback to sending an email to the email address (this will also happen if a user exists but has no devices registered).",
      type: "string",
      optional: true,
    },
    channel_tag: {
      label: "Channel Tag ",
      description: "Send the push to all subscribers to your channel that has this tag.",
      type: "string",
      optional: true,
    },
    type: {
      label: "Push Type",
      description: "The type of push you want to send",
      type: "string",
      options: constants.PUSH_TYPES,
      reloadProps: true,
    },
  },
  async additionalProps() {
    const title = {
      label: "Title",
      description: "",
      type: "string",
    };
    const body = {
      label: "Body",
      description: "",
      type: "string",
    };
    const url = {
      label: "Url",
      description: "The url to open",
      type: "string",
    };
    const fileName = {
      label: "File Name",
      description: "The name of the file. E.g. \"john.jpg\"",
      type: "string",
    };
    const fileType = {
      label: "File Type",
      description: "The MIME type of the file. E.g. \"image/jpeg\"",
      type: "string",
    };
    const fileUrl = {
      label: "File URL",
      description: "The url for the file.",
      type: "string",
    };

    switch (this.type) {
    case "note":
      title.description = "The note's title";
      body.description = "The note's message";

      return {
        title,
        body,
      };

    case "link":
      title.description = "The link's title";
      body.description = "A message associated with the link";
      url.description = "The url to open";

      return {
        title,
        body,
        url,
      };

    case "file":
      body.description = "A message to go with the file";

      return {
        body,
        fileName,
        fileType,
        fileUrl,
      };
    }
  },
  async run({ $ }) {
    if (this.type === "file") {
      const {
        fileName,
        fileType,
        fileUrl,
      } = this;

      const fileBuffer = await this.pushbullet.downloadFile({
        fileUrl,
        $,
      });

      const response = await this.pushbullet.getUploadUrl({
        data: {
          file_name: fileName,
          file_type: fileType,
        },
        $,
      });

      await this.pushbullet.uploadFile({
        uploadUrl: response.upload_url,
        fileBuffer,
        $,
      });

      this.fileUrl = response.file_url;
    }

    const response = await this.pushbullet.sendPush({
      data: {
        type: this.type,
        email: this.email,
        title: this.title,
        body: this.body,
        url: this.url,
        file_name: this.fileName,
        file_type: this.fileType,
        file_url: this.fileUrl,
      },
      $,
    });

    $.export("$summary", `Successfully send a push ${this.file}`);

    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
PushbulletpushbulletappThis component uses the Pushbullet app.
DevicedevicestringSelect a value from the drop down menu.
Emailemailstring

Send the push to this email address. If that email address is associated with a Pushbullet user, we will send it directly to that user, otherwise we will fallback to sending an email to the email address (this will also happen if a user exists but has no devices registered).

Channel Tag channel_tagstring

Send the push to all subscribers to your channel that has this tag.

Push TypetypestringSelect a value from the drop down menu:notelinkfile

Action Authentication

Pushbullet uses OAuth authentication. When you connect your Pushbullet account, Pipedream will open a popup window where you can sign into Pushbullet and grant Pipedream permission to connect to your account. Pipedream securely stores and automatically refreshes the OAuth tokens so you can easily authenticate any Pushbullet API.

Pipedream requests the following authorization scopes when you connect your account:

About Pushbullet

Pushbullet connects your devices, making them feel like one

More Ways to Connect Pushbullet + HTTP / Webhook

Delete push with Pushbullet API on New Requests (Payload Only) from HTTP / Webhook API
HTTP / Webhook + Pushbullet
 
Try it
Delete push with Pushbullet API on New Requests from HTTP / Webhook API
HTTP / Webhook + Pushbullet
 
Try it
Send push (Note, Link and File) with Pushbullet API on New Requests from HTTP / Webhook API
HTTP / Webhook + Pushbullet
 
Try it
Delete push with Pushbullet API on New event when the content of the URL changes. from HTTP / Webhook API
HTTP / Webhook + Pushbullet
 
Try it
Send push (Note, Link and File) with Pushbullet API on New event when the content of the URL changes. from HTTP / Webhook API
HTTP / Webhook + Pushbullet
 
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