with IMAP and OneSignal (REST API)?
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");
},
})
OneSignal's REST API enables developers to automate the delivery of push notifications, manage users and segments, and gather analytics to refine communication strategies. By integrating OneSignal with Pipedream, you can orchestrate complex workflows that react to events or schedules, synchronize user data across platforms, and personalize user engagement with cross-channel marketing tools.
import { axios } from "@pipedream/platform"
export default defineComponent({
props: {
onesignal_rest_api: {
type: "app",
app: "onesignal_rest_api",
}
},
async run({steps, $}) {
return await axios($, {
url: `https://onesignal.com/api/v1/players`,
headers: {
"Authorization": `Basic ${this.onesignal_rest_api.$auth.rest_api_key}`,
},
params: {
app_id: `${this.onesignal_rest_api.$auth.app_id}`,
},
})
},
})