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 is received. This source is capped at 100 max new messages per run.
Emit new event for each new email sent. (Maximum of 300 events emited per execution)
Create a draft from your Google Workspace email account
Download an attachment by attachmentId to the /tmp directory. See the docs
Find an email using Google's Search Engine. See the docs
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");
},
})
With the Gmail (Developer App) API on Pipedream, you can automate a variety of email-related tasks, directly manipulating your Gmail account to streamline workflows. From sending emails programmatically to parsing new inbound messages for data extraction, the API allows for deep interaction with your Gmail inbox. Use cases include automating follow-ups, organizing your inbox with filters and labels, and synchronizing important email events with other services to act upon new information instantly.
import { axios } from "@pipedream/platform"
export default defineComponent({
props: {
gmail_custom_oauth: {
type: "app",
app: "gmail_custom_oauth",
}
},
async run({steps, $}) {
return await axios($, {
url: `https://www.googleapis.com/oauth2/v1/userinfo`,
headers: {
Authorization: `Bearer ${this.gmail_custom_oauth.$auth.oauth_access_token}`,
},
})
},
})