Installation

Track installs the same way every ARK product does. This page covers the Track-specific steps — the generic Supabase and Vercel setup lives under Installation.

Track's database schema

Track adds its own tables on top of the shared platform tables (profiles, workspaces, etc.). After running the general schema, run Track's schema file:

# from your local clone of the Track repo
supabase db push --file supabase/schema.sql

Or in the Supabase dashboard:

  1. Open SQL Editor.
  2. Paste the contents of supabase/schema.sql from the repo.
  3. Click Run.

See Database Reference for the full table list.

Environment variables

All the standard ARK variables apply (see Environment Variables). Track adds the following:

VITE_ARK_TRACK_DEFAULT_CURRENCY

What it is: the default currency for deal values.

Looks like: USD, EUR, GBP, CAD.

Required? No. Defaults to USD if unset.

VITE_RESEND_API_KEY

What it is: API key for Resend, used for sending email notifications (mentions, assignment, reminders) from your deployment.

Required? Optional. Without it, in-app notifications still work; only email delivery is disabled.

TRACK_WEBHOOK_SIGNING_SECRET

What it is: a shared secret used to HMAC-sign outgoing webhook payloads so downstream services can verify them.

Generate: openssl rand -hex 32.

Required? Only if you plan to use Track's outgoing webhooks.

VITE_OPENAI_API_KEY

What it is: OpenAI API key for the optional contact-summary and deal-coach features.

Required? No. AI features gracefully hide when unset.

Edge Functions

Track ships with two Supabase Edge Functions:

FunctionPurpose
track-automation-runnerEvaluates automation rules on a cron. Runs every 5 minutes.
track-webhook-dispatcherFans out outgoing webhook payloads with retries.

Deploy both:

supabase functions deploy track-automation-runner
supabase functions deploy track-webhook-dispatcher

Schedule the automation runner. In the Supabase dashboard, go to Database → Cron Jobs and add:

select cron.schedule(
  'track-automation-runner',
  '*/5 * * * *',
  $$select net.http_post(
    url := 'https://<project-ref>.functions.supabase.co/track-automation-runner',
    headers := jsonb_build_object('Authorization', 'Bearer ' || current_setting('app.settings.service_role_key'))
  );$$
);

Third-party integrations

Track is integration-light out of the box. The ones it supports:

CSV import

No configuration — the UI in Settings → Import walks you through mapping columns. Works for contacts, companies, and deals.

Email logging (IMAP)

Optional. If you want incoming email to auto-log against contacts:

  1. Set VITE_ARK_TRACK_EMAIL_DOMAIN to a domain you own.
  2. Configure your mail server to forward messages to track@<your-domain>.
  3. Point the forwarded mail at the track-email-inbound Edge Function (setup in Settings → Email Logging).

Webhook outputs

Configure from Settings → Webhooks in the UI. No env var needed unless you want signed payloads (see above).

Verify your install

  1. Sign up as the first user — you'll be promoted to workspace admin.
  2. Create a pipeline from Boards → New Pipeline.
  3. Add a contact, then drag their card through a stage.
  4. Open Settings → Automations and confirm the automation runner status is Healthy (green dot). If red, check the Edge Function logs.