← Twilio SendGrid + Threads integrations

Post a Thread with Threads API on New Events (Instant) from Twilio SendGrid API

Pipedream makes it easy to connect APIs for Threads, Twilio SendGrid and 800+ other apps remarkably fast.

Trigger workflow on
New Events (Instant) from the Twilio SendGrid API
Next, do this
Post a Thread with the Threads 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 Twilio SendGrid trigger and Threads 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 Events (Instant) trigger
    1. Connect your Twilio SendGrid account
    2. Select one or more Event Types
  3. Configure the Post a Thread action
    1. Connect your Threads account
    2. Configure Forum ID
    3. Configure Thread Title
    4. Configure Thread Body
  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 any of the specified SendGrid events is received
Version:0.0.3
Key:sendgrid-events

Trigger Code

import common from "../common/http-based.mjs";
import deliveryEventTypes from "./delivery-event-types.mjs";
import engagementEventTypes from "./engagement-event-types.mjs";

export default {
  ...common,
  key: "sendgrid-events",
  name: "New Events (Instant)",
  description: "Emit new event when any of the specified SendGrid events is received",
  version: "0.0.3",
  type: "source",
  dedupe: "unique",
  props: {
    ...common.props,
    eventTypes: {
      type: "string[]",
      label: "Event Types",
      description: "The type of events to listen to",
      options(context) {
        const { page } = context;
        if (page !== 0) {
          return {
            options: [],
          };
        }

        const options = [
          ...deliveryEventTypes,
          ...engagementEventTypes,
        ];
        return {
          options,
        };
      },
    },
  },
  methods: {
    ...common.methods,
    baseWebhookSettings() {
      // The list of events that a webhook can listen to. This method returns an
      // exhaustive list of all such flags disabled, and each event source can
      // then override the flags that are relevant to the event they handle.
      //
      // See the docs for more information:
      // https://sendgrid.com/docs/api-reference/
      const eventTypesData = [
        ...deliveryEventTypes,
        ...engagementEventTypes,
      ];
      return eventTypesData.reduce((accum, eventTypeData) => ({
        ...accum,
        [eventTypeData.value]: false,
      }), {});
    },
    webhookEventFlags() {
      return this.eventTypes.reduce((accum, eventType) => ({
        ...accum,
        [eventType]: true,
      }), {});
    },
    generateMeta(data) {
      const {
        event: eventType,
        sg_event_id: id,
        timestamp: ts,
      } = data;
      const summary = `New event: ${eventType}`;
      return {
        id,
        summary,
        ts,
      };
    },
  },
};

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/Adb$.service.dbThis component uses $.service.db to maintain state between component invocations.
Twilio SendGridsendgridappThis component uses the Twilio SendGrid app.
N/Ahttp$.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.
Event TypeseventTypesstring[]Select a value from the drop down menu.

Trigger Authentication

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

Enter your Sendgrid API key below

About Twilio SendGrid

Delivering your transactional and marketing emails through the world's largest cloud-based email delivery platform. Send with confidence.

Action

Description:Post a new thread to a specific forum
Version:0.0.1
Key:threads-post-thread

Action Code

const threads = require("../../threads.app.js");

module.exports = {
  key: "threads-post-thread",
  name: "Post a Thread",
  description: "Post a new thread to a specific forum",
  version: "0.0.1",
  type: "action",
  props: {
    threads,
    forumID: {
      propDefinition: [
        threads,
        "forumID",
      ],
    },
    title: {
      propDefinition: [
        threads,
        "title",
      ],
    },
    body: {
      propDefinition: [
        threads,
        "body",
      ],
    },
  },
  async run() {
    const {
      forumID,
      title,
      body,
    } = this;
    return await this.threads.postThread({
      forumID,
      title,
      body,
    });
  },
};

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
ThreadsthreadsappThis component uses the Threads app.
Forum IDforumIDinteger

The ID of the forum you want to post to. Navigate to your forum on the Threads website. The URL will be threads.com/${forum_id}

Thread Titletitlestring

The title of your thread (max 60 characters)

Thread Bodybodystring

The body of your thread. Supports Markdown

Action Authentication

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

Visit your Integrations settings in your Threads account, and create a new API key in the API Keys section.

About Threads

Threads is a modern forum for work where focused discussions and decisions take place.