QStash

QStash is an HTTP based messaging and scheduling solution for the serverless and edge runtimes.

Integrate the QStash API with the Amazon SES API

Setup the QStash API trigger to run a workflow which integrates with the Amazon SES API. Pipedream's integration platform allows you to integrate QStash and Amazon SES remarkably fast. Free for developers.

Create Email Template with Amazon SES API on New Topic Webhook from QStash API
QStash + Amazon SES
 
Try it
Get Email Template with Amazon SES API on New Topic Webhook from QStash API
QStash + Amazon SES
 
Try it
Send Email with Amazon SES API on New Topic Webhook from QStash API
QStash + Amazon SES
 
Try it
Send Templated Email with Amazon SES API on New Topic Webhook from QStash API
QStash + Amazon SES
 
Try it
Update Email Template with Amazon SES API on New Topic Webhook from QStash API
QStash + Amazon SES
 
Try it
New Topic Webhook from the QStash API

Emit new events on each new QStash topic message

 
Try it
Create Endpoint with the QStash API

Create a new HTTP endpoint on a QStash topic.

 
Try it
Create Email Template with the Amazon SES API

Create a HTML or a plain text email template. See the docs

 
Try it
Create Topic with the QStash API

Create a new QStash topic that emits to multiple endpoints.

 
Try it
Get Email Template with the Amazon SES API

Get an email template. See the docs

 
Try it
List Endpoints with the QStash API

Lists all your existing QStash endpoints.

 
Try it

Overview of QStash

QStash API offers a secure, scalable, and simple way to manage message queues and defer tasks. Using this API, you can enqueue messages, schedule tasks to run after a delay, and ensure that tasks are executed exactly once, leveraging the power of serverless architecture. With Pipedream's ability to connect to a multitude of services, you can build complex workflows that trigger actions in other apps based on events in QStash, allowing you to automate cross-application business processes with ease.

Connect QStash

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
import { axios } from '@pipedream/platform';


export default defineComponent({
  props: {
    qstash: {
      type: "app",
      app: "qstash",
    },
    callback_url: {
      type: "string",
      label: "Callback URL",
      description: "A URL that will be called by QStash with the body given",
    },
    delay: {
      type: "string",
      label: "Delay",
      default: 0,
      description: "Delay the HTTP request to the callback URL (seconds)"
    }
  },
  async run({steps, $}) {
    return axios($, {
      url: `https://qstash.upstash.io/v1/publish/${this.callback_url}`,
      method: 'POST',
      headers: {
        'Authorization': `Bearer ${this.qstash.auth.qstash_token}`,
        'Upstash-Delay': `${this.qstash.delay}s`
      },
      data: {
        hello: 'world'
      }
    });
  }
})

Overview of Amazon SES

Amazon Simple Email Service (SES) is a powerful cloud-based email sending service designed to help digital marketers and application developers send marketing, notification, and transactional emails. With the SES API, you can reliably send emails at scale, manage sender reputations, view email sending statistics, and maintain a high deliverability rate. Leveraging Pipedream's capabilities, you can integrate SES seamlessly into serverless workflows, automate email responses based on triggers from other apps, and analyze the effectiveness of your email campaigns by connecting to data analytics platforms.

Connect Amazon SES

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
module.exports = defineComponent({
  props: {
    amazon_ses: {
      type: "app",
      app: "amazon_ses",
    }
  },
  async run({steps, $}) {
    const AWS = require("aws-sdk")
    const { accessKeyId, secretAccessKey } = this.amazon_ses.$auth
    
    const ses = new AWS.SES({
      accessKeyId, 
      secretAccessKey,
      region: 'us-east-1',
    })
    
    const sesParams = {
      Destination: {
        ToAddresses: ["<your email here>"],
      }, 
      Message: {
        Body: {
          Html: {
            Charset: "UTF-8", 
            Data: "<h1>This is a test</h1>",
          }, 
            Text: {
            Charset: "UTF-8", 
            Data: "This is a test",
          }
        }, 
        Subject: {
          Charset: "UTF-8", 
          Data: "Test email",
        }
      },
      Source: "<your from address here", 
    };
    
    this.resp = await ses.sendEmail(sesParams).promise()
  },
})