Connect Pipedream to any IMAP email provider to trigger custom workflows.
Emit new event each time a record is added, updated, or deleted in an Airtable table. See the documentation
Emit new event for each new or modified record in a table
Create one or more records in a table by passing an array of objects containing field names and values as key/value pairs. See the documentation
Updates a record if recordId
is provided or adds a record to a table.
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");
},
})
Airtable (OAuth) API on Pipedream allows you to manipulate and leverage your Airtable data in a myriad of powerful ways. Sync data between Airtable and other apps, trigger workflows on updates, or process bulk data operations asynchronously. By using Airtable's structured databases with Pipedream's serverless platform, you can craft custom automation solutions, integrate with other services seamlessly, and streamline complex data processes.
import { axios } from "@pipedream/platform"
export default defineComponent({
props: {
airtable_oauth: {
type: "app",
app: "airtable_oauth",
}
},
async run({steps, $}) {
return await axios($, {
url: `https://api.airtable.com/v0/meta/whoami`,
headers: {
Authorization: `Bearer ${this.airtable_oauth.$auth.oauth_access_token}`,
},
})
},
})