> ## Documentation Index
> Fetch the complete documentation index at: https://docs.tala-assistant.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Zelty

> Manage restaurant orders and menus during voice calls

## Overview

The Zelty integration enables your voice agents to interact with your
restaurant's point-of-sale system in real-time during calls. Perfect for
restaurants using Zelty for their POS and online ordering.

<Note>
  This integration requires API access from Zelty.
  Contact Zelty's partner program to obtain your credentials.
</Note>

## What You Can Do

| Feature                | Description                                     |
| ---------------------- | ----------------------------------------------- |
| **Browse Menu**        | Share dish details, prices, and availability    |
| **Take Orders**        | Create orders directly in Zelty during the call |
| **Check Order Status** | Provide updates on existing orders              |
| **Search Products**    | Find specific dishes by name or category        |

## Setup

<Steps>
  <Step title="Get API Credentials">
    Request API access from Zelty's partner program at
    [zelty.fr/ressources/integration](https://www.zelty.fr/ressources/integration).
    You will receive:

    * API Username
    * API Password
    * Location ID (your restaurant identifier)
  </Step>

  <Step title="Add Integration">
    Go to **Integrations** -> Click **Add Zelty** -> Enter your credentials
  </Step>

  <Step title="Test Connection">
    Click **Test** to verify your credentials work correctly
  </Step>

  <Step title="Start Using It">
    Once Zelty is active, its order and menu tools are available automatically
    during calls. There is no separate workflow toggle for Zelty.
  </Step>
</Steps>

## Available Tools

Your agent has access to three functions:

| Tool                 | Use Case                                    |
| -------------------- | ------------------------------------------- |
| **Get Products**     | When caller asks about menu items or prices |
| **Create Order**     | When caller wants to place an order         |
| **Get Order Status** | When caller asks about an existing order    |

## Example Conversations

<AccordionGroup>
  <Accordion title="Menu Inquiry">
    **Caller:** What pizzas do you have?

    **Agent:** Let me check our menu... We have the Margherita at 12 euros,
    the Regina at 14 euros with ham and mushrooms, and the Quattro Formaggi
    at 15 euros with four cheeses. Would you like to order one?

    **Caller:** Do you have any vegetarian options?

    **Agent:** Yes! Our vegetarian options include the Margherita, the
    Vegetariana with grilled vegetables at 13 euros, and several salads.
  </Accordion>

  <Accordion title="Order Taking">
    **Caller:** I'd like to order a Margherita and a Caesar salad.

    **Agent:** Perfect. Let me add that to your order... One Margherita pizza
    and one Caesar salad. Your total is 20 euros. Your order number is 4521.
    It will be ready in about 20 minutes.

    **Caller:** Can I add a tiramisu?

    **Agent:** Of course! I've added the tiramisu. Your new total is 26 euros.
  </Accordion>

  <Accordion title="Order Status">
    **Caller:** I placed an order earlier, number 4521. Is it ready?

    **Agent:** Let me check... Your order 4521 is currently being prepared.
    It should be ready in about 10 minutes.

    **Caller:** Great, thanks!

    **Agent:** You're welcome! We'll have it ready for you soon.
  </Accordion>
</AccordionGroup>

## Integrated Payment

When Stripe is also connected, your agent can create an order and send a
payment link in one step. See [Stripe (Paiement)](/integrations/stripe-client#zelty-integration)
for details.

## Order Status Values

Your agent translates order statuses to French:

| API Status | Displayed As   |
| ---------- | -------------- |
| pending    | En attente     |
| confirmed  | Confirmée      |
| preparing  | En préparation |
| ready      | Prête          |
| delivered  | Livrée         |
| completed  | Terminée       |
| cancelled  | Annulée        |

## Technical Details

| Setting         | Value                                   |
| --------------- | --------------------------------------- |
| Auth Method     | HTTP Digest + Bearer Token              |
| API Timeout     | 5 seconds (optimized for voice)         |
| Token Caching   | Automatic (reused until expiration)     |
| Data Encryption | Fernet (AES-128) for stored credentials |

## Limitations

<Warning>
  **Current limitations:**

  * Order creation is for pickup/delivery only (no table service)
  * Zelty alone does not process payment; connect Stripe as well to enable the combined order + payment flow
  * Requires active Zelty API partnership
</Warning>

## Troubleshooting

<AccordionGroup>
  <Accordion title="Authentication failed">
    * Double-check your username and password
    * Verify your account has API access enabled
    * Contact Zelty support if credentials were recently issued
  </Accordion>

  <Accordion title="Products not showing">
    * Verify the location ID matches your restaurant
    * Check if products are marked as available in Zelty
    * Ensure the category exists in your Zelty configuration
  </Accordion>

  <Accordion title="Order creation fails">
    * Confirm all product IDs are valid
    * Check that your restaurant is currently open in Zelty
    * Verify your API account has order creation permissions
  </Accordion>

  <Accordion title="Token expired errors">
    * This should resolve automatically (tokens are refreshed)
    * If persistent, try disconnecting and reconnecting the integration
    * Check if your API credentials were revoked
  </Accordion>
</AccordionGroup>

## Next Steps

<CardGroup cols={2}>
  <Card title="Zenchef" icon="utensils" href="/integrations/zenchef">
    Add reservation availability
  </Card>

  <Card title="Workflow Tools" icon="wrench" href="/workflows/tools">
    See all available tools
  </Card>
</CardGroup>
