Documentation

SavvyMenu Help & Docs

Guides for restaurant owners and technical teams.

For Restaurant Owners

1

Upload Menu

Drag and drop your PDF. We extract dishes, prices, and options automatically.

2

Customize

Set your brand awareness color and welcome message.

3

Embed

Copy the code snippet (below) and send it to your web developer.

Common Questions

  • Do I need a developer? Only to paste the code snippet once. After that, you manage everything from here.
  • Will it guess answers? No. It only answers using information found in your menu or settings.
  • Does it replace online ordering? No. It guides customers TO your ordering system or reservation link.

For Developers

Technical details for teams integrating SavvyMenu into custom builds.

How accuracy is guaranteed

Structured + Unstructured

We don't just dump text into an LLM. We parse hours, locations, and dietary details into structured data while keeping descriptive text for flavor queries.

Zero-Hallucination

The system prompts are strictly engineered to say "I don't know" rather than invent a price or ingredient.

Widget Integration

Paste this snippet into the <head> of your website.

PrerequisiteYou need a configured workspace. Go to Dashboard > Settings to copy your unique Publishable Client Key.
index.html
<script src="https://cdn.savvymenu.ai/widget.js"
  data-id="YOUR_API_KEY"></script>

Platform Guides

Detailed instructions for common CMS platforms.

WordPress

Use the Insert Headers and Footers plugin to paste the script into the footer.

Squarespace

Navigate to Settings > Advanced > Code Injection and paste in the Footer field.

Wix

Go to Settings > Custom Code. Add code to Body - End.

Webflow

Open Project Settings > Custom Code and add to the Footer Code section.

Advanced Customization

Control the widget's appearance by creating a global configuration object.

config.js
window.SavvyMenuConfig = {
  brand_color: "#6366f1", // Override Dashboard Color
  position: "bottom-left", // or "bottom-right" (default)
  welcome_message: "Hungry? Ask me about our menu!"
};

Smart Actions Protocol

How our AI triggers client-side interactivity using a hidden JSON protocol.

When the AI wants to suggest an action (like showing a menu or booking a table), it appends a hidden JSON block to its response:

|||JSON:{"type":"suggestion", "buttons":[{"label":"Book Table","action":"book","value":"https://..."}]}|||
Client-parsedInvisible to User

Deep Configuration

Managing complex store logic and personalities.

Weekly Schedule Logic

We implement a Fact Precedence rule. If your Chatbot Context (PDF Menu) says you are open on Sundays, but you toggle "Closed" in the Dashboard Settings, the Settings override the PDF.

Voice & Tone

Use the Playground to test different personalities (Friendly, Formal, Energetic). This sets the system_tone parameter which instructs the LLM on style without affecting facts.

Pro Features & Limits

  • Branding Removal

    Free Tier widgets display a "Powered by SavvyMenu AI" footer. Upgrading to Pro or Business automatically removes this footer from your widget (no code change required).

  • Daily Limits

    Limits (200/day for Free, 500/day for Pro) reset automatically at 00:00 UTC. The dashboard shows your real-time usage for the current day.