Connect Pipedream to any IMAP email provider to trigger custom workflows.
Emit new event for each attachment in a message received. This source is capped at 100 max new messages per run.
Emit new event when an email matching the search criteria is received. This source is capped at 100 max new messages per run.
Suspend the workflow until approved by email. See the documentation
Create a draft from your Google Workspace email account. See the documentation
Download an attachment by attachmentId to the /tmp directory. See the documentation
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.
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");
},
})
By connecting your personal Gmail account to Pipedream, you'll be able to incorporate email into whatever you're building with any of the thousands of apps that are available on Pipedream.
import { axios } from "@pipedream/platform"
export default defineComponent({
props: {
gmail: {
type: "app",
app: "gmail",
}
},
async run({steps, $}) {
return await axios($, {
url: `https://www.googleapis.com/oauth2/v1/userinfo`,
headers: {
Authorization: `Bearer ${this.gmail.$auth.oauth_access_token}`,
},
})
},
})