Slack is a channel-based messaging platform. With Slack, people can work together more effectively, connect all their software tools and services, and find the information they need to do their best work — all within a secure, enterprise-grade environment.
Emit new event when a new message is posted to one or more channels
Emit new event when a new child object is discovered within a specific path
Emit new event when a structured query returns new documents
Emit new event when a message was posted in a direct message channel
Emit new events on new Slack interactivity events sourced from Block Kit interactive elements, Slash commands, or Shortcuts.
Send a message to a public channel and customize the name and avatar of the bot that posts the message. See postMessage or scheduleMessage docs here
Creates or replaces a child object within your Firebase Realtime Database. See the docs here
Send a message to a private channel and customize the name and avatar of the bot that posts the message. See postMessage or scheduleMessage docs here
With the Slack API, you can build all sorts of integrations and applications to
make your work life easier. Here are just a few examples:
import { axios } from "@pipedream/platform"
export default defineComponent({
props: {
slack: {
type: "app",
app: "slack",
}
},
async run({steps, $}) {
return await axios($, {
url: `https://slack.com/api/users.profile.get`,
headers: {
Authorization: `Bearer ${this.slack.$auth.oauth_access_token}`,
},
})
},
})
With the Firebase Admin SDK API, you can build a variety of different
applications and tools. For example, you could build a tool to manage your
Firebase project's users, or a tool to monitor your Firebase project's data
usage. You could also build an app that helps you manage your Firebase
project's settings, or an app that helps you troubleshoot your Firebase
project's data.
module.exports = defineComponent({
props: {
firebase_admin_sdk: {
type: "app",
app: "firebase_admin_sdk",
}
},
async run({steps, $}) {
const admin = require('firebase-admin')
// Enter values for the following parameters below this code step,
// These get passed to the initializeApp method below.
const { projectId, clientEmail, privateKey } = 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,
})
})
}
},
})