Automations& AI task runners

Author, deploy, and monitor QSNAPP automations for WinQS imports, valuation workflows, and AI-assisted QS tasks.

Fully managed

Automations scale with your practice — no servers to babysit

Background runners

Import jobs, pricing helpers, and notifications close to your data

Secure by default

Run AI and workflow tasks with practice credentials and RLS

AI task runners

Trigger assistants for measurement, descriptions, and reviews

Supabase gave us the flexibility and scalability needed at every growth stage. It's rare to find a tool that works just as well for startups as it does for large-scale operations.

Zeno RochaCEO at Resend

Delightful DX from
local to production

Edge Functions are built on Deno, enabling a secure, fast, and modern development experience from your local machine to global deployment.

First-class local dev

Develop and test Edge Functions locally with hot reloading and full parity with production.

Dev
=
Prod

Dev and Prod parity

Same edge-runtime in development and production — no surprises when you deploy.

name: Deploy Edge Functions

on:
  push:
    branches: [main]

jobs:
  deploy:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: supabase/setup-cli@v1
      - run: supabase functions deploy --project-ref ${{ secrets.PROJECT_ID }}

Continuous Integration

Deploy Edge Functions automatically with GitHub Actions on every push to main.

npm
expresslodashaxioszoddate-fnsstripeopenairesendhonodrizzle-orm

Use any NPM module

Import from npm, deno.land, or esm.sh — over 1 million modules available.

Run server-side logic
geographically close to your users

Global presence

Edge Functions run in data centers around the world, automatically routing requests to the nearest location for minimum latency.

Automatic scaling

Functions scale automatically with demand. No configuration, no cold-start management, no infrastructure to maintain.

Secure

Functions run in isolated environments with built-in secrets management. Your code and credentials are always protected.

Debug and monitor with
built-in observability

Realtime logsLive
200POST/functions/v1/hello-world12ms
200GET/functions/v1/send-email45ms
500POST/functions/v1/webhook8ms
200POST/functions/v1/process-image230ms
200GET/functions/v1/hello-world11ms

Realtime logs

Stream logs in real-time from the Dashboard or CLI. Debug issues as they happen.

Log explorer
Search logs...
Last 24h
INFO Function invoked: hello-world
DEBUG Request body parsed
INFO Response sent in 12ms
ERROR Unhandled exception in webhook

Query Logs

Search and filter logs with the Log Explorer. Find exactly what you need, fast.

Metrics
24msavg execution time

Metrics

Monitor invocation counts, execution time, and error rates from the Dashboard.

Integrates with the
Supabase ecosystem

import { createClient } from 'npm:@supabase/supabase-js@2'

Deno.serve(async (req) => {
  const supabase = createClient(
    Deno.env.get('SUPABASE_URL')!,
    Deno.env.get('SUPABASE_ANON_KEY')!,
    { global: { headers: { Authorization: req.headers.get('Authorization')! } } }
  )

  const { data, error } = await supabase.from('countries').select('*')
  if (error) throw error

  return new Response(JSON.stringify(data), {
    headers: { 'Content-Type': 'application/json' },
  })
})
Documentation

Zero configuration

Edge Functions come pre-configured with your Supabase project credentials.

Documentation

Deploy your first function
in under a minute

Two commands. Global deployment. No infrastructure to manage.

Terminal

$ supabase functions new hello-world

Created new Function at supabase/functions/hello-world

$ supabase functions deploy hello-world

Deployed Function hello-world on project