The Project is a Zapier Integration of HarperDB, an app that can be published to Zapier app market and use its capability to connect with 2000+ app in the Zapier app market to automate various workflow.
What is HarperDB?
HarperDB is a SQL/NoSQL data management platform. It is fully indexed, doesn't duplicate data, and runs on any device- from the edge to the cloud.
What is Zapier?
Zapier is the glue that connects thousands of web apps. Zaps are workflows that connect your apps, so they can work together. Zaps start with a trigger—an event in one of your apps that kicks off your workflow. Zaps automate tasks in the background, so you can focus on more important work.
Zap:
A Zap is an automated workflow that connects our apps and services together. Each Zap consists of a trigger and one or more actions.
Trigger:
A trigger is an event that starts a Zap.
Action:
An action is an event a Zap performs after it is triggered. Action steps can find and/or create items in apps. Search & Create are two actions.
Search can find data in apps and optionally create new items if the search returns no results.
Create as its name implies make new items from the data received from trigger.
The app needs following instance’s detail:
- HOST_ADDRESS
- USERNAME
- PASSWORD
Following are hidden triggers which are used by actions to fetch Schemas, Tables and Attributes:
- Get All Schema: Fetch all the schemas from the db server.
- Get All Tables: Fetch all the tables of the provided schema.
- Get All Attributes: Fetch all the attributes of the provided table and schema.
Following are user facing triggers, not implemented and are for future scope:
- Record Created
- Record Updated
Following are Search Actions which are used to find data from the app:
-
Find A Record: This will search record in the table via lookup Attribute.
-
Find Records via Custom Query: This will search record in the table via custom query that user controls.
-
Find or Create A Record: This will search record or alternatively create a new one if it does not exists.
Support for Record Created & Record Updated Triggers will be provided if some subscription mechanism like Rest Hooks or Pub-Sub is supported by the database.
The cluster socket connection is not working in this case as after the subscription, the connection listens for new events that occur but in our case we need all the new event from our last listened offset like Pub-Sub.
Like Create a Table, Drop an Attribute, Drop Table etc.
# install the CLI globally
npm install -g zapier-platform-cli
# setup auth to Zapier's platform with a deploy key
zapier login
# install all the libraries needed for your app
npm install
# push your app to Zapier
zapier push