Fuel product growth and team agility. Heap automatically captures web and mobile app behavioral data. Retroactively analyze behavioral data without writing code.
Emit new event when you add or modify a new row in a table. See the docs here
Emit new event when new rows are returned from a custom query. See the docs here
Emit new event when a new table is added to a database. See the docs here
Heap is an analytics tool that allows developers to track user engagement and
conversions within their web or mobile app. Heap provides an API that
developers can use to build custom integrations, dashboards, and reports.
Some examples of what you can build using the Heap API include:
import { axios } from "@pipedream/platform"
export default defineComponent({
props: {
heap: {
type: "app",
app: "heap",
}
},
async run({steps, $}) {
// From the docs: https://docs.heap.io/reference#track-1
// "Requests are limited to 30 requests per 30 seconds per identity per app_id"
return await axios($, {
method: "POST",
url: `https://heapanalytics.com/api/track`,
headers: {
"Content-Type": "application/json",
},
data: {
app_id: this.heap.$auth.app_id,
identity: params.identity,
event: params.event,
timestamp: params.timestamp || (new Date()).toISOString(),
properties: params.properties,
}
})
},
})
MySQL is a powerful database management system used by some of the largest
organizations in the world, including Facebook, Google, and Amazon. MySQL is an
open-source relational database management system (RDBMS), as well as a popular
choice for web applications used by millions of websites.
Some applications that can be built using the MySQL API include:
import mysql from 'mysql2/promise';
export default defineComponent({
props: {
mysql: {
type: "app",
app: "mysql",
}
},
async run({steps, $}) {
const {
host,
port,
username: user,
password,
database,
ca,
key,
cert,
reject_unauthorized: rejectUnauthorized,
} = this.mysql.$auth;
const isRejectUnauthorizedUndefined = rejectUnauthorized === undefined;
const isSslSet = !!(ca && key && cert);
const connectionConfig = {
host,
port,
user,
password,
database,
...(isSslSet && {
ssl: {
rejectUnauthorized: true,
ca,
cert,
key,
},
}),
...(!isSslSet && !isRejectUnauthorizedUndefined && {
ssl: {
rejectUnauthorized,
},
}),
};
const connection = await mysql.createConnection(connectionConfig);
const [rows] = await connection.execute('SELECT NOW()');
return rows;
},
});