Skip to content

raghav3615/slime

Repository files navigation

Slime

Slime is a workflow automation platform built with Next.js. It enables users to connect Google Drive, Slack, Notion, and Discord, then execute actions through a visual workflow editor.

Overview

  • Build automation flows with a node-based editor.
  • Use Google Drive activity as a trigger source.
  • Route outputs to Slack, Notion, and Discord.
  • Manage authentication, subscriptions, and usage credits.

Core Capabilities

  • OAuth-based integrations for Google, Slack, Notion, and Discord.
  • Event-driven workflow execution through webhook notifications.
  • Workflow draft/save/publish lifecycle.
  • Credit-based execution controls with Stripe billing support.

Technology Stack

  • Next.js 14 (App Router)
  • TypeScript
  • Prisma ORM with PostgreSQL
  • Clerk authentication
  • Tailwind CSS and shadcn/ui
  • Zustand for client state

Prerequisites

  • Node.js 20 or 22 LTS (recommended)
  • npm
  • PostgreSQL database
  • OAuth/API credentials for the integrations you plan to use

Installation

git clone https://github.com/raghav3615/slime.git
cd slime
npm install

Environment Variables

Create a .env file in the project root.

DATABASE_URL="postgresql://user:password@localhost:5432/slime"

NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=pk_test_xxx
CLERK_SECRET_KEY=sk_test_xxx
NEXT_PUBLIC_CLERK_SIGN_IN_URL=/sign-in
NEXT_PUBLIC_CLERK_SIGN_UP_URL=/sign-up

GOOGLE_CLIENT_ID=xxx.apps.googleusercontent.com
GOOGLE_CLIENT_SECRET=xxx
OAUTH2_REDIRECT_URI=https://localhost:3000/api/auth/callback/google

NOTION_CLIENT_ID=xxx
NOTION_API_SECRET=secret_xxx

SLACK_CLIENT_ID=xxx
SLACK_CLIENT_SECRET=xxx
NEXT_PUBLIC_SLACK_REDIRECT=https://slack.com/oauth/v2/authorize?...

DISCORD_CLIENT_ID=xxx
DISCORD_CLIENT_SECRET=xxx
DISCORD_REDIRECT_URI=https://localhost:3000/api/auth/callback/discord
NEXT_PUBLIC_DISCORD_REDIRECT=https://discord.com/oauth2/authorize?...

STRIPE_SECRET=sk_test_xxx
NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY=pk_test_xxx

NEXT_PUBLIC_UPLOADCARE_PUBLIC_KEY=demopublickey

NGROK_URI=https://your-public-domain.ngrok-free.app
CRON_JOB_KEY=your_cron_job_api_key

Notes:

  • NGROK_URI must be publicly reachable for Google Drive webhook callbacks.
  • If your tunnel/domain changes, recreate the Google Drive listener from the workflow editor.

Database Setup

npx prisma generate
npx prisma db push

Run Locally

npm run dev

The app runs on https://localhost:3000.

Workflow Triggering

To ensure workflows trigger automatically:

  1. Create and configure a workflow in the editor.
  2. Save the workflow.
  3. Publish the workflow.
  4. Create the Google Drive listener from the Google Drive trigger panel.
  5. Make a file change in Google Drive to trigger execution.

Available Scripts

  • npm run dev - start development server
  • npm run build - create production build
  • npm run start - start production server
  • npm run lint - run ESLint checks

Contributing

Contributions are welcome through pull requests. Please include a clear description of the problem, approach, and validation steps.

License

This project is licensed under the MIT License.

About

Connect your favorite services and automate workflows without code

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages