Mailgun

Mailgun is an email automation service built for developers. Powerful transactional email APIs enable you to send, receive, and track emails.

Integrate the Mailgun API with the Firebase Admin SDK API

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

Create Document with Firebase Admin SDK API on New Bounce from Mailgun API
Mailgun + Firebase Admin SDK
 
Try it
Create Document with Firebase Admin SDK API on New Click from Mailgun API
Mailgun + Firebase Admin SDK
 
Try it
Create Document with Firebase Admin SDK API on New Complaint from Mailgun API
Mailgun + Firebase Admin SDK
 
Try it
Create Document with Firebase Admin SDK API on New Delivery Failure from Mailgun API
Mailgun + Firebase Admin SDK
 
Try it
Create Document with Firebase Admin SDK API on New Delivery from Mailgun API
Mailgun + Firebase Admin SDK
 
Try it
New Child Object in a Realtime Database from the Firebase Admin SDK API

Emit new event when a new child object is discovered within a specific path

 
Try it
New Document in Firestore Collection from the Firebase Admin SDK API

Emit new event when a structured query returns new documents

 
Try it
New Bounce (Instant) from the Mailgun API

Emit new event when the email recipient could not be reached.

 
Try it
New Click (Instant) from the Mailgun API

Emit new event when the email recipient clicked on a link in the email. Open tracking must be enabled in the Mailgun control panel, and the CNAME record must be pointing to mailgun.org. See more at the Mailgun User's Manual Tracking Messages section

 
Try it
New Complaint (Instant) from the Mailgun API

Emit new event when the email recipient clicked on the spam complaint button within their email client. Feedback loops enable the notification to be received by Mailgun.

 
Try it
Create Mailing List Member with the Mailgun API

Add to an existing mailing list. See the docs here

 
Try it
Create Document with the Firebase Admin SDK API

Creates a New Document. See the docs here

 
Try it
Create Route with the Mailgun API

Create a new route. See the docs here

 
Try it
Create Firebase Realtime Database Record with the Firebase Admin SDK API

Creates or replaces a child object within your Firebase Realtime Database. See the docs here

 
Try it
Delete Mailing List Member with the Mailgun API

Delete a mailing list member by address. See the docs here

 
Try it

Overview of Mailgun

The Mailgun API on Pipedream is a potent tool for automating email operations without the overhead of managing a full-fledged email server. It offers capabilities to send, receive, track, and store emails with ease. With Pipedream's serverless platform, you can trigger workflows using Mailgun events, such as inbound emails or delivery status changes, and connect them to hundreds of other services to streamline communication, marketing, and notification systems within your ecosystem.

Connect Mailgun

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
import { axios } from "@pipedream/platform"
export default defineComponent({
  props: {
    mailgun: {
      type: "app",
      app: "mailgun",
    }
  },
  async run({steps, $}) {
    return await axios($, {
      url: `https://${this.mailgun.$auth.region && this.mailgun.$auth.region === "EU" ? "api.eu" : "api"}.mailgun.net/v3/domains`,
      auth: {
        username: `api`,
        password: `${this.mailgun.$auth.api_key}`,
      },
    })
  },
})

Overview of Firebase Admin SDK

The Firebase Admin SDK API provides powerful backend functionality for Firebase apps. It allows you to interact with Firebase services like Firestore, Firebase Realtime Database, Firebase Storage, and Firebase Authentication directly from a server. With Pipedream, you can harness this API to automate complex workflows, respond to Firebase events in real-time, and integrate with countless other services.

Connect Firebase Admin SDK

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 admin from "firebase-admin"
export default defineComponent({
  props: {
    firebase_admin_sdk: {
      type: "app",
      app: "firebase_admin_sdk",
    },
  },
  async run({ steps, $ }) {
    // Enter values for the following parameters below this code step,
    // These get passed to the initializeApp method below.
    const { 
      projectId, 
      clientEmail, 
      privateKey,
      region = "firebaseio.com",
    } = this.firebase_admin_sdk.$auth

    // Before passing the privateKey to the initializeApp constructor,
    // we have to replace newline characters with literal newlines
    const formattedPrivateKey = privateKey.replace(/\\n/g, "\n")

    // See https://firebase.google.com/docs/reference/admin/node/admin.credential.html#cert
    if (!admin.apps.length) {
      admin.initializeApp({
        credential: admin.credential.cert({
          projectId,
          clientEmail,
          privateKey: formattedPrivateKey,
        }),
        databaseURL: `https://${projectId}-default-rtdb.${region}/`,
      })
    }
  },
})