This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
const Person = require('clearbit')(process.env.CLEARBIT_API_KEY).Person; | |
const Airtable = require('airtable'); | |
const base = new Airtable({ apiKey: process.env.AIRTABLE_API_KEY }).base(process.env.AIRTABLE_BASE_KEY); | |
// Maps typeform answers to columns in airtable | |
const typeformFieldsToAirtableFields = { | |
short_text: 'name', | |
email: 'email', | |
multiple_choice: 'message_type', |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
if (isNaN(event.Body)) { | |
return; | |
} | |
// Prepare workflow object to store API responses | |
let result = {}; | |
// [Workflow Step 1] | |
console.log(`Running airtable.query[@0.4.2].select()...`); | |
result.step1 = {}; | |
result.step1.selectQueryResult = await lib.airtable.query['@0.4.2'].select({ | |
table: `Workout`, |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
if (isNaN(event.Body)) { | |
return; | |
} | |
// Prepare workflow object to store API responses | |
let result = {}; | |
// [Workflow Step 1] |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
const lib = require('lib')({token: process.env.STDLIB_SECRET_TOKEN}); | |
/** | |
* An HTTP endpoint that acts as a webhook for Slack member_joined_channel event | |
* @param {object} event | |
* @returns {object} result Your return value | |
*/ | |
module.exports = async (event) => { | |
// Store API Responses |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
const lib = require('lib')({token: process.env.STDLIB_SECRET_TOKEN}); | |
/** | |
* An HTTP endpoint that acts as a webhook for Slack member_joined_channel event | |
* @param {object} event | |
* @returns {object} result Your return value | |
*/ | |
module.exports = async (event) => { | |
// Store API Responses |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
const lib = require('lib')({token: process.env.STDLIB_SECRET_TOKEN}); | |
const r = require('request'); | |
const request = require('request-promise-native'); | |
const cheerio = require('cheerio'); | |
const parseAll = require('html-metadata').parseAll; | |
/** | |
* A simple and powerful scraper | |
* @param {string} url Url to fetch | |
* @param {string} userAgent Request's User Agent |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Store API Responses | |
const result = {crawler: {}}; | |
console.log(`Running [Crawler → Query (scrape) a provided URL based on CSS selectors]...`); | |
result.crawler.pageData = await lib.crawler.query['@0.0.1'].selectors({ | |
url: `https://news.ycombinator.com/`, | |
userAgent: `stdlib/crawler/query`, | |
includeMetadata: false, | |
selectorQueries: [ | |
{ | |
'selector': `a.storylink`, |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Store API Responses | |
const result = {crawler: {}}; | |
console.log(`Running [Crawler → Query (scrape) a provided URL based on CSS selectors]...`); | |
result.crawler.pageData = await lib.crawler.query['@0.0.1'].selectors({ | |
url: `https://www.economist.com/`, | |
userAgent: `stdlib/crawler/query`, | |
includeMetadata: false, | |
selectorQueries: [ | |
{ | |
'selector': `a.headline-link`, |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
result.crawler.pageData = await lib.crawler.query['@0.0.1'].selectors({ | |
url: `https://www.economist.com/`, | |
userAgent: `stdlib/crawler/query`, | |
includeMetadata: false, | |
selectorQueries: [ | |
{ | |
'selector': `a.headline-link`, | |
'resolver': `attr`, | |
'attr': `href` | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Store API Responses | |
const result = {crawler: {}}; | |
console.log(`Running [Crawler → Query (scrape) a provided URL based on CSS selectors]...`); | |
result.crawler.pageData = await lib.crawler.query['@0.0.1'].selectors({ | |
url: `https://www.economist.com/`, | |
userAgent: `stdlib/crawler/query`, | |
includeMetadata: false, | |
selectorQueries: [ | |
{ |
OlderNewer