with SFTP (password-based auth) and Google Appsheet?
Emit new events when files get created, changed or deleted from a remote directory. See the docs
Adds a new row to a specific table in the AppSheet app. See the documentation
Uploads a file or string in UTF-8 format to the SFTP server. See the documentation
Deletes a specific row from a table in the AppSheet app. See the documentation
Read existing records in a table in the AppSheet app. See the documentation
Updates an existing row in a specific table in the AppSheet app. See the documentation
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();
},
})
The Google Appsheet API enables programmatic interactions with your custom AppSheet applications, allowing you to streamline processes, automate actions, and interlink your apps with other services. Leveraging Pipedream's powerful serverless platform, you can create workflows that react to events in real-time, automate tasks, and connect to countless other services with minimal effort. Whether you're updating datasets, syncing with external systems, or triggering complex chains of actions, combining AppSheet with Pipedream can supercharge your productivity and enhance your app's capabilities.
import { axios } from "@pipedream/platform"
export default defineComponent({
props: {
google_appsheet: {
type: "app",
app: "google_appsheet",
}
},
async run({steps, $}) {
const data = {
"Action": "Find",
"Properties": `{
"Locale": "en-US",
"Selector": "Filter(Sheet1, true)",
"Timezone":
"Pacific Standard Time"
}`,
}
return await axios($, {
method: "post",
url: `https://api.appsheet.com/api/v2/apps/${this.google_appsheet.$auth.app_id}/tables/{{your_table_here}}/Action`,
headers: {
"ApplicationAccessKey": `${this.google_appsheet.$auth.access_key}`,
},
data,
})
},
})