with Keap (Infusionsoft) and SFTP (key-based auth)?
Emit new events when files get created, changed or deleted from a remote directory. See the docs
The Keap (Infusionsoft) API is a powerful tool that unlocks advanced customer relationship management, marketing automation, and sales features. It allows you to manage contacts, create and update customer records, send emails, set up marketing campaigns, and more, automating and integrating these processes within your business workflows. With Pipedream's serverless execution environment, you can harness this API to craft custom automations, trigger sequences based on specific actions, and connect Keap to a multitude of other apps and services, streamlining your sales and marketing efforts.
import { axios } from "@pipedream/platform"
export default defineComponent({
props: {
infusionsoft: {
type: "app",
app: "infusionsoft",
}
},
async run({steps, $}) {
return await axios($, {
url: `https://api.infusionsoft.com/crm/rest/v1/oauth/connect/userinfo`,
headers: {
Authorization: `Bearer ${this.infusionsoft.$auth.oauth_access_token}`,
},
})
},
})
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();
},
})