Heap

Fuel product growth and team agility. Heap automatically captures web and mobile app behavioral data. Retroactively analyze behavioral data without writing code.

Integrate the Heap API with the MySQL API

Setup the Heap API trigger to run a workflow which integrates with the MySQL API. Pipedream's integration platform allows you to integrate Heap and MySQL remarkably fast. Free for developers.

New Column from the MySQL API

Emit new event when you add a new column to a table. See the docs here

 
Try it
New or Updated Row from the MySQL API

Emit new event when you add or modify a new row in a table. See the docs here

 
Try it
New Row from the MySQL API

Emit new event when you add a new row to a table. See the docs here

 
Try it
New Row (Custom Query) from the MySQL API

Emit new event when new rows are returned from a custom query. See the docs here

 
Try it
New Table from the MySQL API

Emit new event when a new table is added to a database. See the docs here

 
Try it
Create Row with the MySQL API

Adds a new row. See the docs here

 
Try it
Delete Row with the MySQL API

Delete an existing row. See the docs here

 
Try it
Execute Query with the MySQL API

Find row(s) via a custom query. See the docs here

 
Try it
Execute Stored Procedure with the MySQL API

Execute Stored Procedure. See the docs here

 
Try it
Find Row with the MySQL API

Finds a row in a table via a lookup column. See the docs here

 
Try it

Overview of Heap

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:

  • A dashboard to track app usage and engagement metrics
  • A report to track conversion rates and revenue
  • A custom integration to track user behavior in your app

Connect Heap

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
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,
      }
    })
  },
})

Overview of MySQL

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:

  • A web application that stores and retrieves data from a MySQL database
  • A desktop application that uses a MySQL database for data storage
  • A mobile application that interacts with a MySQL database

Connect MySQL

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
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;
  },
});