with Google Chat (Service Account Key) and Node?
Write custom Node.js code and use any of the 400k+ npm packages available. Refer to the Pipedream Node docs to learn more.
module.exports = defineComponent({
props: {
google_chat_service_account_key: {
type: "app",
app: "google_chat_service_account_key",
}
},
async run({ steps, $ }) {
// Required workaround to get the @google-cloud/storage package
// working correctly on Pipedream
require("@dylburger/umask")();
const { google } = require("googleapis");
const key = JSON.parse(this.google_chat_service_account_key.$auth.key_json);
const auth = new google.auth.JWT({
email: key.client_email,
key: key.private_key,
scopes: ["https://www.googleapis.com/auth/chat.bot"],
});
const chat = google.chat({ version: "v1", auth });
// Returns spaces the bot has access to
return await chat.spaces.list();
},
})
Develop, run and deploy your Node.js code in Pipedream workflows, using it between no-code steps, with connected accounts, or integrate Data Stores and File Stores
This includes installing NPM packages, within your code without having to manage a package.json file or running npm install.
Below is an example of installing the axios package in a Pipedream Node.js code step. Pipedream imports the axios package, performs the API request, and shares the response with subsequent workflow steps:
// To use previous step data, pass the `steps` object to the run() function
export default defineComponent({
async run({ steps, $ }) {
// Return data to use it in future steps
return steps.trigger.event
},
})