with Dropbox and Expensify?
Emit new event when a new file is added to your account or a specific folder. Make sure the number of files/folders in the watched folder does not exceed 4000.
Emit new event when a new folder is created. Make sure the number of files/folders in the watched folder does not exceed 4000.
Emit new event when a file or folder is added or modified. Make sure the number of files/folders in the watched folder does not exceed 4000.
Creates a new report with transactions in a user's account. See docs here
Creates a brand new text file from plain text content you specify. See the documentation
Export Expensify reports to a file (csv, xls, xlsx, txt, pdf, json, xml). See the documentation
The Dropbox API on Pipedream enables you to automate file and folder operations, streamlining workflows that involve storing, syncing, and sharing content. With this API, you can programmatically manage files, set up event-driven triggers based on changes within Dropbox, and leverage Pipedream's capabilities to connect with hundreds of other apps for extended automation scenarios. It's ideal for building custom file management solutions, archiving systems, or collaborative content workflows without writing extensive code.
import { axios } from "@pipedream/platform"
export default defineComponent({
props: {
dropbox: {
type: "app",
app: "dropbox",
}
},
async run({steps, $}) {
const data = {
"account_id": `${this.dropbox.$auth.oauth_uid}`,
}
return await axios($, {
method: "post",
url: `https://api.dropboxapi.com/2/users/get_account`,
headers: {
Authorization: `Bearer ${this.dropbox.$auth.oauth_access_token}`,
"Content-Type": `application/json`,
},
data,
})
},
})
The Expensify API enables the automation of expense reporting and management tasks. By harnessing this API within Pipedream, you can craft workflows that streamline the expense submission process, synchronize financial data across platforms, and trigger actions based on expense report statuses. With Pipedream’s serverless platform, these automations can run in the background, allowing for real-time data processing and interaction between Expensify and a myriad of other apps and services.
import { axios } from "@pipedream/platform"
export default defineComponent({
props: {
expensify: {
type: "app",
app: "expensify",
}
},
async run({ steps, $ }) {
// The Expensify API requires the request data to be sent as
// a URL-encoded form with a key of "requestJobDescription".
// The value of this key must be a JSON string.
// First, define the JSON object as per the Expensify API documentation.
const requestJobDescription = {
type: "get",
credentials: {
partnerUserID: this.expensify.$auth.partnerUserId,
partnerUserSecret: this.expensify.$auth.partnerUserSecret,
},
inputSettings: {
type: "policyList",
}
};
// Use URLSearchParams to create a properly formatted form body.
const formData = new URLSearchParams();
formData.append('requestJobDescription', JSON.stringify(requestJobDescription));
// Make the API call with the correctly formatted data.
return await axios($, {
method: "post",
url: `https://integrations.expensify.com/Integration-Server/ExpensifyIntegrations`,
data: formData,
// It's good practice to explicitly set the Content-Type header
// to match the data format.
headers: {
'Content-Type': 'application/x-www-form-urlencoded',
},
});
},
})