Save link to linkish dashboard
@linkish
code:
data:privatelast updated:4 years ago
today
Build integrations remarkably fast!
You're viewing a public workflow template.
Sign up to customize, add steps, modify code and more.
Join 1,000,000+ developers using the Pipedream platform
steps.
trigger
HTTP API
Deploy to generate unique URL
This workflow runs on Pipedream's servers and is triggered by HTTP / Webhook requests.
steps.
linkish
auth
to use OAuth tokens and API keys in code via theauths object
(auths.linkish)
code
Write any Node.jscodeand use anynpm package. You can alsoexport datafor use in later steps via return or this.key = 'value', pass input data to your code viaparams, and maintain state across executions with$checkpoint.
async (event, steps, auths) => {
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
}
73
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": auths.linkish.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

})