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.sqlOr in the Supabase dashboard:
- Open SQL Editor.
- Paste the contents of
supabase/schema.sqlfrom the repo. - 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:
| Function | Purpose |
|---|---|
track-automation-runner | Evaluates automation rules on a cron. Runs every 5 minutes. |
track-webhook-dispatcher | Fans out outgoing webhook payloads with retries. |
Deploy both:
supabase functions deploy track-automation-runner
supabase functions deploy track-webhook-dispatcherSchedule 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:
- Set
VITE_ARK_TRACK_EMAIL_DOMAINto a domain you own. - Configure your mail server to forward messages to
track@<your-domain>. - Point the forwarded mail at the
track-email-inboundEdge 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
- Sign up as the first user — you'll be promoted to workspace admin.
- Create a pipeline from Boards → New Pipeline.
- Add a contact, then drag their card through a stage.
- Open Settings → Automations and confirm the automation runner status is Healthy (green dot). If red, check the Edge Function logs.