# GonnaOrder

With GonnaOrder connected, the agent works like a phone order desk for your store: it finds items on your menu with their price and availability, checks whether the caller's address is inside a delivery zone and what the fee and minimum order are, offers delivery or pickup times, submits the order to GonnaOrder, and can text the caller a card-payment link. It also recognises returning customers, repeats "the usual", reports order status and books tables. **Integrations - Catalogue - GonnaOrder - Connect** opens the connect dialog. One connection is shared by every agent in the company.

  <ShotPlaceholder
    src="/assets/integrations/gonnaorder.png"
    name="gonnaorder-connect"
    alt="Connect GonnaOrder dialog with Store alias, Username and Password"
    capture="Connect GonnaOrder dialog."
  />

## What you need before you start

- The **store owner login** for GonnaOrder (e-mail and password). It is used once to generate an API key for Voice Logica and is not stored. If you already have a GonnaOrder API key, you can use that instead.
- The **store alias**: the subdomain of your ordering page. For `myshop.point2order.gr` the alias is `myshop`.

## What you enter

The dialog needs a store (**Store alias** or **Store id**) and a way in (**Username** and **Password**, or an **API key**).

- **Store alias** — The subdomain of the store. Needed unless you give a **Store id**.
- **Username** — The store owner's GonnaOrder e-mail. Needed unless you give an **API key**.
- **Password** — Used once to generate the API key, then discarded.

Under **Advanced settings** (all optional):

- **API key (instead of username / password)** — An existing GonnaOrder API key.
- **Store id** — Only when you have no alias. Ignored if the alias is found.
- **Environment** — **Production** for live stores. **Development** is for GonnaOrder test stores.
- **Admin host override** — Leave empty. Production tries the GonnaOrder host and then the Greek point2order host automatically.
- **Default delivery method for phone orders** — **Delivery to an address**, **Pickup** or **In-store (table / room)**.
- **Default payment category** — `LATER_CASH` (cash on delivery) unless you set another GonnaOrder payment category.
- **Payment return URL** — Where the caller lands after paying by link. Empty means the store front page.

## First setup

1. **Integrations - Catalogue - GonnaOrder - Connect**, enter the alias, e-mail and password, **Test connection**, then **Connect**. GonnaOrder appears under **Connected** and the menu and customer list start copying straight away.

2. Open **My Agents**, pick the agent, then **Skills - Tools & Workflows**. Turn on **GonnaOrder** and click **Configure**.

3. Pick the operations. **Search menu** is on by default. For delivery orders add **Check delivery address**, **Delivery / pickup times** and **Place order**. Add **Identify caller by phone** and **Customer's past orders** so regulars can repeat an order, and **Order status** for "where is my food" calls. Add **Book a table** if you take reservations.

4. To accept card payments, add **Send payment link** and also turn on **Send SMS** on the same agent: the link is sent by text message. The agent never takes card details on the call.

5. Optionally set **Max order lines**. Leave it empty for no limit.

6. Click **Save** in the settings window, then **Save** the agent.

7. Call the agent (or use **Try this agent**) and order two items from your menu for delivery to an address in your zone. The agent should confirm prices, the delivery fee and a time, then submit the order. Check that it appears in GonnaOrder.

## What the agent can do

| Job | What happens on the call |
|-----|--------------------------|
| Menu questions | Finds items by name and reads back price and availability. |
| Delivery checks | Says whether the address is inside a delivery zone, with the fee and minimum order, and lists available delivery or pickup times. |
| Take an order | Builds and submits the order in one step, including the delivery-zone check. |
| Payment | Creates a card-payment link for the order and sends it by SMS. |
| Returning customers | Recognises the caller by phone (or by name), knows their saved address and can repeat a past order. **Pre-fetch recent orders on call start** loads recent orders before the agent speaks. |
| After the order | Reports the status and total of an existing order. |
| Tables | Creates a table reservation at the store. |

The menu is refreshed every 30 minutes, so sold-out items and switched-off specials reach the agent during service. Customers are refreshed daily. **Sync now** on the GonnaOrder card under **Connected** refreshes both immediately.

## Troubleshooting

**Connect says to enter an API key or a username and password**

The dialog needs either the e-mail and password of the store owner, or an API key under **Advanced settings**. It also needs either the **Store alias** or a **Store id**. Fill one of each and try again.

**Connect fails because the store could not be found from the alias**

The alias must be exactly the subdomain of your ordering page, without `https://` or the domain. If the store has no alias, leave it empty and enter the numeric **Store id** under **Advanced settings**.

**Test connection fails with 401**

GonnaOrder rejected the login or the API key. Check the owner e-mail and password by signing in to GonnaOrder directly, and make sure **Environment** is **Production** for a live store.

**The caller never receives the payment link**

**Send payment link** creates the link, but the text message is sent by the **Send SMS** tool. Turn **Send SMS** on for the agent and **Save**.

## Next Steps

[Get an integration working](https://docs.voicelogica.ai/integrations/) - company connection, then the agent tool.  
[Tools & Workflows](https://docs.voicelogica.ai/agent-configuration/built-in-tools/) - where the GonnaOrder and Send SMS tools are switched on.  
[WooCommerce](https://docs.voicelogica.ai/integrations/eshops/woocommerce/) - [Shopify](https://docs.voicelogica.ai/integrations/eshops/shopify/) - for retail stores.
