with TimescaleDB and Microsoft Teams?
Emit new event when a new message is posted in a channel
Emit new event when a new message is received in a chat
Emit new event when a new team is joined by the authenticated user
Create a new channel in Microsoft Teams. See the docs here
Get the list of shift instances for a team. See the documentation
Send a message to a team's channel. See the docs here
import { Pool } from 'pg'; //required by sequelize
import { Sequelize } from "sequelize";
export default defineComponent({
props: {
timescaledb: {
type: "app",
app: "timescaledb",
}
},
async run({steps, $}) {
//Creating object with connection to TimescaleDB instance
const sequelize = new Sequelize({
dialect: 'postgres',
protocol: 'postgres',
host: this.timescaledb.$auth.host,
port: this.timescaledb.$auth.port,
username: this.timescaledb.$auth.user,
password: this.timescaledb.$auth.password,
database: this.timescaledb.$auth.database,
dialectOptions: {
ssl: {
require: true,
rejectUnauthorized: this.timescaledb.$auth.ssl_verification_mode === 'verify_identity'
}
}
})
// Test the connection and return the result
try {
await sequelize.authenticate()
const queryInterface = sequelize.getQueryInterface();
const [results, metadata] = await queryInterface.sequelize.query('SELECT 1+1 AS result');
return results;
} catch (error) {
throw new Error(`Unable to connect to the database: ${error}`)
} finally {
await sequelize.close()
}
},
})
The Microsoft Teams API on Pipedream allows you to automate tasks, streamline communication, and integrate with other services to enhance the functionality of Teams as a collaboration hub. With this API, you can send messages to channels, orchestrate complex workflows based on Teams events, and manage Teams' settings programmatically.
import { axios } from "@pipedream/platform"
export default defineComponent({
props: {
microsoft_teams: {
type: "app",
app: "microsoft_teams",
}
},
async run({steps, $}) {
return await axios($, {
url: `https://graph.microsoft.com/v1.0/me`,
headers: {
Authorization: `Bearer ${this.microsoft_teams.$auth.oauth_access_token}`,
},
})
},
})