with n8n.io and SFTP (password-based auth)?
Emit new events when files get created, changed or deleted from a remote directory. See the docs
Uploads a file or string in UTF-8 format to the SFTP server. See the documentation
The n8n.io API provides a platform for automating workflows in a node-based structure that allows for integrations across various services and apps. Leveraging this API within Pipedream enables you to orchestrate complex operations, connect disparate systems, and trigger actions conditionally, transforming and passing data between services without writing extensive code.
import { axios } from "@pipedream/platform"
export default defineComponent({
props: {
n8n_io: {
type: "app",
app: "n8n_io",
}
},
async run({steps, $}) {
return await axios($, {
url: `https://${this.n8n_io.$auth.domain}.app.n8n.cloud/api/v1/workflows`,
headers: {
"Accept": `application/json`,
"X-N8N-API-KEY": `${this.n8n_io.$auth.api_key}`,
},
})
},
})
SFTP on Pipedream enables secure file management on remote servers directly from your workflows. Utilize this app to automate file uploads, downloads, and synchronization tasks between your systems and SFTP servers. Implement robust data pipelines or deploy content to web servers without manual intervention, all while maintaining a high level of security with password-based authentication.
module.exports = defineComponent({
props: {
sftp_password_based_auth: {
type: "app",
app: "sftp_password_based_auth",
}
},
async run({steps, $}) {
const Client = require('ssh2-sftp-client');
const {
host,
username,
password,
} = this.sftp_password_based_auth.$auth
const config = {
host,
username,
password,
}
const sftp = new Client()
await sftp.connect(config)
this.cwd = await sftp.cwd();
return await sftp.end();
},
})