IMAP

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

Integrate the IMAP API with the Delay API

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

Delay Workflow with Delay API on New Email from IMAP API
IMAP + Delay
 
Try it
New Email from the IMAP API

Emit new event for each new email in a mailbox

 
Try it
Delay Workflow with the Delay API

Delay the execution of your workflow for a specific amount of time (does not count against your compute time).

 
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");
  },
})

Overview of Delay

The Delay API in Pipedream is a built-in function that allows you to pause a workflow for a specified amount of time. This can be incredibly useful when you need to stagger API calls to avoid rate limits, wait for an external process to complete, or simply introduce a delay between actions in a sequence. With precision up to milliseconds, the Delay API provides a simple yet powerful tool for managing timing in automation workflows.

Connect Delay

1
2
3
4
5
6
7
export default defineComponent({
  async run({steps, $}) {
    // Specify the amount of time to delay your workflow in milliseconds
    return $.flow.delay(5000)
  },
})