with SFTP (key-based auth) and Basecamp?
Emit new events when files get created, changed or deleted from a remote directory. See the docs
Emit new event when a comment is created. See the documentation
Emit new event when a message is created. See the documentation
Emit new event when a to-do item is created. See the documentation
Emit new event when a to-do list is created. See the documentation
Uploads a file or string in UTF-8 format to the SFTP server. See the documentation
Creates a comment in a selected recording. See the documentation
Creates a message in a Campfire for a Basecamp Chatbot. See the documentation
Creates a message in a selected Campfire. See the documentation
The SFTP (key-based auth) app on Pipedream allows you to securely transfer and manage files over a network. It uses SSH for data transfer and provides the same level of security as SSH, without requiring password authentication, making automation workflows more secure and less prone to human error. You can automate file uploads, downloads, synchronization tasks, and efficiently manage your remote files in a serverless environment. Integrating this with other Pipedream-supported apps enables you to craft powerful and secure data flow systems.
module.exports = defineComponent({
props: {
sftp: {
type: "app",
app: "sftp",
}
},
async run({steps, $}) {
const Client = require('ssh2-sftp-client');
const {
host,
username,
privateKey,
} = this.sftp.$auth
const config = {
host,
username,
privateKey,
}
const sftp = new Client()
await sftp.connect(config)
this.cwd = await sftp.cwd();
return await sftp.end();
},
})
The Basecamp API enables the automation of project management tasks, facilitating seamless interaction with Basecamp's project management tools. Through Pipedream, you can leverage the API to create custom workflows that trigger actions within Basecamp, sync data across various platforms, and enhance team collaboration with automated notifications and task management.
import { axios } from "@pipedream/platform"
export default defineComponent({
props: {
basecamp: {
type: "app",
app: "basecamp",
}
},
async run({steps, $}) {
return await axios($, {
url: `https://launchpad.37signals.com/authorization.json`,
headers: {
Authorization: `Bearer ${this.basecamp.$auth.oauth_access_token}`,
},
})
},
})