with Plain and Puppeteer?
Get the HTML of a webpage using Puppeteer. See the documentation for details.
Get the title of a webpage using Puppeteer. See the documentation
The Plain API provides functionality for automating customer support tasks, such as managing conversations, customers, and team inboxes. Within Pipedream, you can leverage these features to create custom workflows that respond to events from your app or external services, triggering actions in Plain. By integrating the Plain API with Pipedream, you can enhance customer support efficiency, streamline communication, and keep customer data synchronized across platforms.
import { axios } from "@pipedream/platform"
export default defineComponent({
props: {
plain: {
type: "app",
app: "plain",
}
},
async run({steps, $}) {
const data = {
"query": `query Workspace {
workspace(workspaceId: "${this.plain.$auth.workspace_id}") {
id
publicName
}
}`,
}
return await axios($, {
method: "post",
url: `https://core-api.uk.plain.com/graphql/v1`,
headers: {
Authorization: `Bearer ${this.plain.$auth.api_key}`,
"Content-Type": `application/json`,
},
data,
})
},
})
Puppeteer is a Node.js library which provides a high-level API to control Chrome/Chromium over the DevTools Protocol. Puppeteer runs in headless mode on Chromium on Pipedream.
Using Puppeteer you can perform tasks including:
import { puppeteer } from '@pipedream/browsers';
export default defineComponent({
async run({steps, $}) {
const browser = await puppeteer.browser();
// Interact with the web page programmatically
// See Puppeeter's Page documentation for available methods:
// https://pptr.dev/api/puppeteer.page
const page = await browser.newPage();
await page.goto('https://pipedream.com/');
const title = await page.title();
const content = await page.content();
// The browser needs to be closed, otherwise the step will hang
await browser.close();
return { title, content }
},
})