Apps (Community)
Last Updated: 2021-02-11This guide covers configuration with Grouparoo's Code Config, which is the recommended way to configure your application. If you have purchased the Enterprise Edition, you may wish to use the Enterprise Apps Guide instead.
Apps are typically the first types of objects that you will create. They help Grouparoo connect to a number of different tools, such as your databases, data warehouses, and other third-party tools. See this doc to learn more about the core concepts in Grouparoo.
Generating a New App
To generate a new App for your Grouparoo application, run the generate
command.
For example, let's say you have a Postgres data warehouse containing your customer data. You can generate a new App like this:
grouparoo generate postgres:app data_warehouse
Note here that data_warehouse
is the ID for the App. An ID is always required when generating a config object.
This command will generate a file in your application directory at config/apps/data_warehouse.js
that looks something like this:
exports.default = async function buildConfig() {
return [
{
class: "app",
id: "data_warehouse",
name: "data_warehouse",
type: "postgres",
options: {
host: "localhost",
port: 5432,
database: "...",
schema: "public",
user: "...",
password: "...",
ssl: false,
},
},
];
};
The shape of the object(s) returned by the function will look different depending on the type of App generated. More on this below.
List of Available App Types
Postgres is just one type of App you can create. To see a full list of available types, use the --list
option, filtered by "app":
grouparoo generate app --list
This will give you something like the following:
bigquery:app (id) - Config for a Grouparoo bigquery App
csv:app (id) - Config for a CSV App
events:app (id) - Config for a Grouparoo App based on Events
facebook:app (id) - Config for a Grouparoo facebook App
google-sheets:app (id) - Config for a Google Sheets App
hubspot:app (id) - Config for a Grouparoo hubspot App
intercom:app (id) - Config for a Grouparoo intercom App
iterable:app (id) - Config for a Grouparoo iterable App
mailchimp:app (id) - Config for a Mailchimp App
manual:app (id) - Config for a Grouparoo App with manual property values
marketo:app (id) - Config for a Grouparoo marketo App
mysql:app (id) - Config for a Grouparoo mysql App
postgres:app (id) - Config for a Grouparoo postgres App
redshift:app (id) - Config for a Grouparoo redshift App
sailthru:app (id) - Config for a Grouparoo sailthru App
salesforce:app (id) - Config for a Grouparoo salesforce App
sendgrid:app (id) - Config for a Grouparoo sendgrid App
snowflake:app (id) - Config for a Grouparoo snowflake App
zendesk:app (id) - Config for a Grouparoo zendesk App
Installing New App Types
The list of available App types is driven by the set of plugins you've installed.
You can see the current list of installed plugins in your package.json
file, in the grouparoo.plugins
section.
To install a new plugin, use the install
command. For a complete list of plugins, see the Plugins doc.
Configuring Your App
The generate
command attempts to make a reasonable guess at the values in the config file it generated (in the config/apps
directory). There are ellipses ("..."
) in the places in which it couldn't make a reasonable guess. In the example above, after generating a Postgres App, all but database
, user
, and password
were pre-populated.
The best practice when configuring an App is to read the comments, keys, and values within the generated file and fill in the appropriate values for your App.
Validating & Applying Your Config
You can validate your config at any time using the validate
command:
grouparoo validate
And you can apply that config (save it to your Grouparoo application's database) using the apply
command:
grouparoo apply
Note that apply
will run validate
, but it's recommended to run validate
on its own first, just to be safe.
Having Problems?
If you are having trouble, visit the list of common issues or open a Github issue to get support.