with Coassemble and Puppeteer?
Use this endpoint to create new courses in your workspace. See the docs here
Get the HTML of a webpage using Puppeteer. See the documentation for details.
Create a user as a member of your campus or add an existing user to it. See the docs here
Get the title of a webpage using Puppeteer. See the documentation
Coassemble is a user-friendly training and development platform that lets you create and deliver online courses. The Coassemble API enables the automation of various eLearning tasks, such as user management, course enrollment, and tracking course progress. By leveraging this API within Pipedream, you can streamline educational operations, synchronize educational data with other systems, and create dynamic learning experiences by triggering actions based on course activities.
import { axios } from "@pipedream/platform"
export default defineComponent({
props: {
coassemble: {
type: "app",
app: "coassemble",
}
},
async run({steps, $}) {
return await axios($, {
url: `https://${this.coassemble.$auth.domain}.coassemble.com/api/v1/members/${this.coassemble.$auth.user_id}`,
headers: {
"Authorization": `COASSEMBLE-V1-SHA256 UserId=${this.coassemble.$auth.user_id} UserToken=${this.coassemble.$auth.api_key}`,
"Accept": `application/json`,
},
})
},
})
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 }
},
})