TikTok Shop Video Generator
Turn any viral TikTok video into an ad for your own product in one click. For TikTok Shop sellers and affiliates — no filming, no editing. Free to try.
Oriel is a voice assistant for your product. It answers questions, shows people around, takes actions for them, and tells you where they get stuck.
MarketingTypeScript · PLpgSQLGitHub @accelerated-ideasOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Voice and chat assistant for your product: answers from your docs, walks people around your app, and takes actions for them.
Taken from the repository README
Loading the full README. The saved excerpt is shown below.
Website
·
Issues
Oriel is a voice assistant for your website or app. You add it with one script tag. Visitors click a button and talk to it, or type if they prefer.
It answers questions about your product, takes people to the page they need, and does things for them, like updating their billing. When someone gets stuck, it writes that down for your team.
You can use the hosted version at useoriel.com, or run it yourself for free with every feature included.Read the full README ↗Oriel is a voice assistant for your website or app. You add it with one script tag. Visitors click a button and talk to it, or type if they prefer.
It answers questions about your product, takes people to the page they need, and does things for them, like updating their billing. When someone gets stuck, it writes that down for your team.
You can use the hosted version at useoriel.com, or run it yourself for free with every feature included.
<script src="https://useoriel.com/embed.js" data-agent-id="your-assistant-id" async></script>
To let it act on a signed-in user's account, sign a token (a JWT) on your server with the assistant's identity secret, and pass it in with Oriel("identify", { token }).
On a call, Gemini turns the visitor's speech into text, the assistant's model writes a reply, and ElevenLabs speaks it. Chat and calls run through the same code, so they share knowledge, actions and history.
A self-hosted install has every feature, with no plans or limits. You bring your own database and API keys.
You need Node 22 or newer, Docker and the Supabase CLI.
npm install
supabase start # starts a local database
cp .env.example .env.local # then add your keys
npm run dev # http://localhost:3010
npm run app-assistant adds the help assistant that answers questions inside the dashboard.npm run db:reset wipes your local data and rebuilds the database..env (not .env.local), add http://127.0.0.1:55421/auth/v1/callback as a redirect URI, and restart Supabase..env.example explains every setting. To start, you only need:
NEXT_PUBLIC_APP_URL: where the app runs.supabase status.GOOGLE_API_KEY: Gemini, for search, summaries and understanding speech on calls.WIDGET_SESSION_SECRET and ENCRYPTION_KEY: two random strings, for example from openssl rand -hex 32. Don't change ENCRYPTION_KEY later, or saved keys can't be read.Add these when you need them:
ELEVENLABS_API_KEY for voice calls. Without it, assistants are text only.ANTHROPIC_API_KEY for Claude Haiku, the default model. Without it, assistants use Gemini.OPENAI_API_KEY for GPT.RESEND_API_KEY for emails like invitations and follow-ups.Leave NEXT_PUBLIC_EDITION unset. Setting it to cloud turns on the plans, billing and marketing site we use for useoriel.com.
It's a standard Next.js app. We run it on Vercel with a hosted Supabase project.
NEXT_PUBLIC_APP_URL before you build. It's written into the embed script.supabase/migrations to your Supabase project, for example with supabase db push.CRON_SECRET. The scheduled jobs in vercel.json use it to refresh knowledge every day.Each assistant connects its own services on its Integrations page. Every service gives the assistant a job to do:
| Job | Services |
|---|---|
| Tell the team when to step in | Slack |
| Open a ticket | Zendesk, Salesforce, HubSpot |
| Save a lead | Salesforce, HubSpot |
| Book a meeting | Cal.com, Calendly |
| Look up and change billing | Stripe |
Services connect with OAuth, a key, or both. For OAuth, register <NEXT_PUBLIC_APP_URL>/api/integrations/<service>/callback as the redirect URL. If a service's keys are missing, its card in the dashboard says so.
stripe apps upload integrations/stripe-app --live, then set STRIPE_APP_INSTALL_URL to its install link. So that uninstalling the app in Stripe disconnects it here too, add <NEXT_PUBLIC_APP_URL>/api/integrations/stripe/webhook as a webhook endpoint for events on connected accounts, with apps.install.deleted and account.application.deauthorized, in your live account and in the app's managed sandbox. Then set STRIPE_APP_WEBHOOK_SECRET and STRIPE_APP_SANDBOX_WEBHOOK_SECRET to their signing secrets. Stripe has to review the app before other accounts can install it.integrations/slack-app-manifest.yml, then set SLACK_CLIENT_ID and SLACK_CLIENT_SECRET. Slack only accepts https redirect URLs, so locally run npm run dev:https with NEXT_PUBLIC_APP_URL=https://localhost:3010. Turn on public distribution so other Slack workspaces can install it.SALESFORCE_CLIENT_ID and SALESFORCE_CLIENT_SECRET.HUBSPOT_CLIENT_ID and HUBSPOT_CLIENT_SECRET. It works in up to 25 accounts until it's listed on HubSpot's marketplace.PROFILE_READ, EVENT_TYPE_READ, BOOKING_READ and BOOKING_WRITE, then set CALCOM_CLIENT_ID and CALCOM_CLIENT_SECRET.users:read, event_types:read and scheduled_events:write, then set CALENDLY_CLIENT_ID and CALENDLY_CLIENT_SECRET. Booking needs a paid Calendly plan. On a free plan, the assistant sends a booking link with the visitor's details filled in.Pull requests are welcome. Read CONTRIBUTING.md first. On your first pull request you'll be asked to sign our CLA, once.
Found a security issue? Please report it privately. See SECURITY.md.
Copyright © 2026 Accelerated Ideas OÜ. Oriel is open source under the AGPL-3.0 license, including the hosted service's billing and the marketing site.
If you run a changed version of Oriel as a service for other people, you have to share your source code with them. For a commercial license without these terms, email [email protected].
The Oriel name and logo aren't covered by the license. See TRADEMARKS.md.