All in one bookmarking manager
Emit new event each time a meeting is created where you're the host
Emit new event each time a meeting starts where you're the host
Emit new event each time a new recording completes for a meeting or webinar where you're the host
Emit new event each time a meeting ends where you're the host
Emit new event each time a meeting is updated where you're the host
Linkish is a versatile API that enables developers to create a wide variety of
applications. Some examples of what can be built using Linkish include:
module.exports = defineComponent({
props: {
linkish: {
type: "app",
app: "linkish",
}
},
async run({steps, $}) {
const axios = require('axios');
let access_token = "";
// Card details
let type = "link", // either "link" or "text"
url = "https://www.youtube.com/watch?v=dQw4w9WgXcQ", // required if "type" is "link"
title = "", // card title, if empty it will be scraped from "url"
description = "", // card description, if empty it will be scraped from "url"
thumbnail = "", // preview image URL, if empty it will be scraped from "url"
parent = "", // collections[index].id recieved from get-collection API
tags = []; // an array of strings, items can also have comma separated strings
// Get access token based on the linkish API key
return await axios({
method : "POST",
url: "https://api.linkish.io/get-token",
data : JSON.stringify({
"api_key": this.linkish.$auth.api_key
}),
headers: {
"Content-Type": "application/json",
"Accept": "application/json",
}
}).then(async (response) => {
// Get collections based on the access token
access_token = response.data.token;
return await axios({
method : "GET",
url: "https://api.linkish.io/get-collections",
headers: {
"Authorization": `Bearer ${access_token}`,
}
})
}).then((response) => {
// Return the data as the step export
return response.data;
}).then(async (collections) => {
// Change parent collection ID here or keep it empty for adding links to root collection
parent = collections[0].id;
// Save link in linkish dashboard
return await axios({
method : "POST",
url: "https://api.linkish.io/save-link",
data : JSON.stringify({
"type": type,
"url": url,
"title": title,
"desc": description,
"thumbnail": thumbnail,
"parent": parent,
"tags": tags,
}),
headers: {
"Authorization": `Bearer ${access_token}`,
"Content-Type": "application/json",
"Accept": "application/json",
}
})
}).then((response) => {
// Return the data as the step export
return response.data
})
},
})
Pipedream workflows allow you to run any Node.js code that connects to the Zoom API. Just create a new workflow, then add prebuilt Zoom actions (create a meeting, send a chat message, etc.) or write your own code. These workflows can be triggered by HTTP requests, timers, email, or on any app-based event (new tweets, a Github PR, Zoom events, etc).
This will open up a new window prompting you to authorize Pipedream's access to your Zoom account. Once you authorize access, you should see your Zoom account listed among your apps.
Zoom users can be classified into two groups: non-admins and admins. Admins have account-level permissions that users do not, and Zoom has corresponding admin-level scopes that aren't relevant for normal users. Therefore, Pipedream exposes two apps — Zoom and Zoom Admin — to serve the two groups.
In the Zoom Marketplace, these apps are named Pipedream, and Pipedream for Zoom Admins, respectively.
Non-admins have permissions to manage standard Zoom resources in their account: meetings, webinars, recordings, and more. If you're a non-admin, you'll want to use the Zoom app.
Zoom admins have permissions to manage account-level resources, like users and reports. They can also manage webinars and meetings across their organization. If you're an admin and need to manage these resources via API, you'll want to use the Zoom Admin app.
The Zoom API docs on permissions provide detailed information on these permissions and their associated OAuth scopes.
import { axios } from "@pipedream/platform"
export default defineComponent({
props: {
zoom: {
type: "app",
app: "zoom",
}
},
async run({steps, $}) {
return await axios($, {
url: `https://api.zoom.us/v2/users/me`,
headers: {
Authorization: `Bearer ${this.zoom.$auth.oauth_access_token}`,
},
})
},
})