IMAP

Connect Pipedream to any IMAP email provider to trigger custom workflows.

Integrate the IMAP API with the Email API

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

Send Yourself an Email with Email API on New Email from IMAP API
IMAP + Email
 
Try it
New Email from the IMAP API

Emit new event for each new email in a mailbox

 
Try it
New Email from the Email API

Get a unique address where you can send emails to trigger your workflow.

 
Try it
Send Yourself an Email with the Email API

Customize and send an email to the email address you registered with Pipedream. The email will be sent by notifications@pipedream.com.

 
Try it

Overview of IMAP

Using Pipedream's IMAP API, developers can automate interactions with their email inbox, enabling serverless workflows that perform actions based on incoming emails. This could include parsing email contents, triggering events upon receiving emails from specific senders, attaching labels, and much more. By leveraging IMAP, Pipedream can act as a bridge between your email and other services, streamlining processes that would otherwise require manual intervention.

Connect IMAP

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
import { once } from "events";
import imaps from "imap-simple";
import cycle from "cycle";

export default defineComponent({
  props: {
    imap: {
      type: "app",
      app: "imap",
    }
  },
  async run({steps, $}) {
    const { host, port, email, password } = this.imap.$auth;

    const connection = await imaps.connect({
      imap: {
        host,
        port,
        user: email,
        password,
        tls: true,
        tlsOptions: { servername: host },
        authTimeout: 3000
      },
    });

    const boxes = await connection.getBoxes();
    // Filter out circular references to parents
    const filteredBoxes = cycle.decycle(boxes);
    $.export("results", filteredBoxes);

    connection.end();
    await once(connection.imap, "end");
  },
})

Connect Email

1
2
3
4
5
6
7
8
9
export default defineComponent({
  async run({ $ }) {
    const options = {
      subject: 'Your subject here',
      text: 'Your text here'
    };
    $.send.email(options);
  },
});