Welcome to aReception. This guide takes you from unboxing the terminal to live operation.
Expect 2–3 hours of work, ideally split into two sittings: first gather your data and
configure the portal, then set up the terminal and test it.
📹 Video walkthrough: https://www.youtube.com/watch?v=f3gE3dwlatk
What the BASIC plan includes
Terminal | An Android kiosk with an avatar at your entrance. We ship it preconfigured — you connect power and network. |
Scenarios | Fixed, ready-made and fine-tuned. They are not modified. |
Portal | Your own, with your data. Everything else is managed here. |
What the terminal can do in BASIC:
- Visit — the visitor says or picks an employee’s name and the avatar connects them by phone
- I have a QR code — check-in of an announced visit from an invitation
- Mail/courier — calls an employee to collect a parcel
- Answering questions — the avatar answers whatever you put into Avatar Instructions (parking, opening hours, where the toilets are…)
- Language switching and emergency/evacuation mode
Beyond the scope of BASIC (handled by a higher plan or as a project): health & safety
training with electronic signature, on-site navigation, DTMF options during the call (the
host decides on their phone what should happen), custom workflows and dialogues, integration
with attendance or ERP systems, turnstiles and barriers, card printing, ID card readers.
Phase 1 — What to prepare in advance
Have these ready before you log into the portal for the first time. This is where you save
the most time.
List of employees the avatar should be able to call — first name, last name, phone
number (ideally mobile, in international format
+44…), email. Best straight in a CSV.A backup phone number for each employee — where the call should be forwarded when
the person doesn’t pick up. Typically an assistant, a colleague from the same team,
or a manager. Add it to the same CSV as another column.
A shared backup contact — reception, front office or the gatehouse, where calls
land when there is no clear host. Name and phone number.
A contact for receiving deliveries — who the terminal calls when a courier arrives
and doesn’t name anyone.
Languages you want to offer on the terminal.
Welcome sentences — 2 to 5 short sentences that will rotate on the welcome screen.
They are shown before the language is chosen, so you can freely mix languages.
A short company description for the avatar — what you do, address, reception
opening hours, where to park, where drivers report, where the toilets are.
10–20 sentences is enough.
Email addresses of the people who will have portal access.
A list of your email domains (e.g.
company.com) — used to tell a colleague
from a visitor.💡 Keep the contact list short and current. 40 people who actually receive visitors works better than 400 rows exported from the corporate directory.
Phase 2 — Portal configuration
The portal runs at portal.areception.ai. You log in with
a link sent to your email — no password is entered or set. We create the first account
for you; you then add further users yourself.
Portal roles:
Role | What they can do |
Account Administrator | Everything within your account — settings, contacts, visits, users. |
Emergency Administrator | Declare and manage an evacuation. |
Internal | A regular employee — sees and creates their own visits and invites. |
Visitor | A visitor, access only to their own invitation. |
The Internal and Visitor roles are assigned automatically based on contacts and
visitors — you don’t need to set them manually.
💡 Steps 1 to 4 are required for the first start. Steps 5 to 9 you enable depending on what you use.
Step 1 — General account settings
Account Settings → General
- Timezone — set this right at the start. It affects visit times and the automatic closing of visits that were never checked out at the end of the day.
Account Settings → Users — add the colleagues who should have access and assign roles.
Step 2 — Contacts
Contacts
Contacts are the only source the avatar offers people to call from. Without them the
terminal will not call anyone.
For every contact fill in at least:
Field | Note |
Display Name | Exactly as the avatar should say it and as it appears in the list on the terminal. |
Last Name | Required, also used for speech recognition. |
Phone Number | International format +44…. Without a number the avatar cannot get through. |
Email | Required if the person is to send invitations or log into the portal. |
CSV import (the Import Contacts button) is faster than typing. The file header defines
the columns (
displayName, firstName, lastName, phoneNumber, email, optionally
note). A column can also be a custom field — use its identifier, e.g.
backupPhoneNumber for the backup number (see Step 3).
A row with id filled in updates an existing contact, a row without id creates a new one —
so the same file can also be used for regular updates.STT Boosting (not necessary)— a set of name variants is generated from the contact’s name so the avatar
understands “I’m here to see Mr Smith” as well as just “Smith”. Do this for every contact;
it noticeably improves recognition success.
⚠️ Don’t create a contact without a phone number. The avatar will offer them to the visitor but won’t get through — the call falls back to the backup contact and the visitor is needlessly confused.
Step 3 — Backup contacts for calling
Don’t skip this — it’s the most frequently overlooked setting. When the host doesn’t pick
up or has no number filled in, the call must have somewhere to go. Otherwise the visitor is
left standing at the terminal with no answer.
A backup number for each host
The primary route is a contact custom field. For every host fill in
Backup Phone Number — the number of an assistant, a colleague from the same team, or a
manager. When the avatar can’t reach the host, it tries this number.
If you don’t see the field on contacts, add it: Account Settings → Contact Custom Fields,
type Text. It then appears on every contact’s detail and in the CSV import.
💡 Work through it as a list. The best approach is to export contacts, fill in the backup-number column for all hosts and import it back. A host without a backup number is exactly the case where the visitor is left without an answer.
A shared backup contact (reception / front office)
On top of that you can configure a shared list that catches calls which can’t be
attributed to a specific host:
- Create a contact for backup calling — e.g.
Reception,Front Office,Gatehouse. It’s an ordinary contact under Contacts, it just represents a role rather than a person. Fill in its display name and phone number.
- Register it in the list — Device Settings → Custom Settings, key
secretariatCallList. The value is a list of contact display names in quotes and square brackets:
plain text["Reception", "Front Office"]
They are called in the order listed — the first one to answer takes the call.
- Set the deliveries contact — key
deliveriesCallList, same format. Who gets called when a courier arrives and doesn’t name a specific person:
plain text["Deliveries", "Reception"]
SMS to a host who missed the call
Key
missedCallSmsText (Custom Settings). When the avatar can’t reach the host, it sends
them an SMS. You can insert $visitor_name into the text:plain textReception: $visitor_name has just arrived and is waiting at reception, but I couldn't reach you. Please save my number — I'll be announcing future visitors from it too.
Step 4 — Welcome screen
Device Settings → Welcome Screen
- Start conversation with
- Language Buttons — the recommended option. One button per configured language; the visitor picks the language and the conversation starts in it right away.
- Text Button — a single button with alternating text; the conversation starts in the default language. Used less often.
- Welcome Messages — one sentence per line, they rotate on the screen. They work best as short statements about what the terminal can do:
plain textWelcome to Example Ltd. I'll announce your visit. I'll check you in from your invitation. I'll take your delivery.
- Start Conversation Button Texts — max. 2 lines, only shown with the Text Button option.
- Avatar Mood and Mood Intensity — the default facial expression before anyone
arrives. Closed Smile with intensity
0.4works well.
💡 The welcome texts are shown before the language is chosen and they rotate, so a single shared set is used for all languages. If you get visitors who don’t speak your language, it’s a good idea to mix sentences in several languages into it — say two in English and two in German.
Step 5 — Avatar instructions
Device Settings → Avatar Instructions
This is the System Prompt — the text that defines the avatar’s personality and what it
knows about your company. There is a separate tab per language.
The prompt should contain:
- who the avatar is and what its name is, how formal it is, how long its answers are
- where it is located (company, address, building)
- the information visitors ask about: where to park, where trucks report, opening hours, where the toilets are, when lunch is
A proven skeleton:
plain textYou are a digital receptionist at Example Ltd, 1 Industrial Road, Manchester. You communicate in English and German. You are an avatar on a kiosk at the entrance, speaking by voice. Your name is Nela. You address visitors formally. You respond briefly, maximum 50 words, in paragraphs of up to 20 words, without formatting. ### Information about the company ### Reception is open from 6:00 to 18:00. Visitor parking is to the right of the main gate. Trucks report to the gatehouse at gate 2. The toilets are down the corridor on the left.
Three rules that save a lot of pain:
- Don’t delete the “Special actions” and “Buttons” blocks. The prompt contains a
section listing commands (
MEETING,VISIT,DELIVERIESand others). That is how the avatar triggers scenarios. If it is deleted or overwritten, the terminal stops connecting calls and checking in invitations — and no error message appears anywhere, it just stops working. Only edit the text part above it. The complete block is in Appendix B.
- Don’t tell the avatar what it can’t do. A sentence like “you have no access to a clock or calendar” will reliably make it refuse even a question about the time that it would otherwise handle — it receives the current time automatically with every query.
- Be specific and brief. The model takes the prompt literally. “You respond in a maximum of 50 words” works; “answer nicely” doesn’t.
Step 6 — Help screen
Device Settings → Help Screen
The Help Text shown after tapping help. It should cover how to talk to the avatar and
information about personal data processing. We pre-fill a default text for you; usually you
just add your company name.
Step 7 — Visits and invitations
Account Settings → Visits
- Invite email body and subject — what reaches the visitor along with the QR code.
- Internal Domains — your email domains. Attendees from these domains are not treated as external visits (important for invitations by email, see Phase 4).
- Invite Valid From Offset (minutes) — how many minutes before the meeting the QR code starts working.
Account Settings → Visitor Custom Fields — the fields you collect about a visitor
(company, vehicle registration, department). They show up on the visit in the portal and can
be exported.
Step 8 — Evacuation
Account Settings → Emergency
- Enable Emergency Feature
- Assembly Point Code — the code people at the assembly point enter to confirm they are safe
- Evacuation Map URL and General Instructions — shown on the evacuation page
If you use the evacuation feature, also switch on requiring a phone number from visitors —
Device Settings → Custom Settings, key
requireVisitorPhoneNumber = true. The avatar then
asks every visitor for their number on arrival, and when an emergency is declared an SMS with
instructions is sent to it. Without a number the system has nowhere to send the information.Step 9 — Device custom settings
Device Settings → Custom Settings
Switches that tune the scenario’s behaviour for your installation. They are added as
Key / Value pairs. The complete list is in Appendix A.
Rules:
- The key must match exactly, including capitalisation. A typo = the setting is ignored.
- The value is always text. Write on/off options in lower case:
true/false.
- A change takes effect in the next conversation, not in the middle of an ongoing one.
- You can drag items to reorder them; it has no effect on behaviour.
The minimum to set right away:
Key | Value | Purpose |
secretariatCallList | ["Reception", "Front Office"] | Backup contacts for calling (see Step 3). |
missedCallSmsText | SMS text | Message to a host who missed the call. |
deliveriesCallList | ["Deliveries"] | Who to call for deliveries. |
visitorNameInput | voice / form / keyboard | How the visitor enters their name. |
requireVisitorPhoneNumber | true / false | Ask for and store the visitor’s phone number. |
Recommendation on name entry:
voice is the fastest but makes mistakes in a noisy
environment; form is the most reliable and we recommend it wherever the name is written
into the visitor book.Phase 3 — Getting the terminal running
We ship the terminal preconfigured. Your job is to prepare a spot, network and power for it,
and to pair it with the portal.
Placement
- At the entrance, at eye level — the visitor must see the terminal before they start looking for a bell.
- Not facing a window or strong backlight — the display gets hard to read.
- Not in a noisy corner — the microphone also picks up the surroundings. A hall with forklifts, or open gates behind the visitor’s back, is a problem.
- Not next to another terminal, a TV or a loud speaker playing speech — the terminal would transcribe the speech from those devices and take it as visitor input. Background music is fine; spoken word is not.
- Free space around it — the visitor needs to reach the display and have somewhere to put a bag down.
Connections
Power — permanent, in a socket that isn’t switched off with the lights.
Network — Wi-Fi or Ethernet, with internet access. We recommend cable, it’s more stable.
Sound — test the volume in real operating conditions, not in the quiet after hours.
Pairing with the portal
If the terminal isn’t mapped to your account yet, it will ask for it itself after the first
start.
- In the portal open Device Settings → Credentials and display the QR code.
- Scan that QR code on the terminal.
- The terminal links to the portal and pulls down your configuration.
First start
- Switch the terminal on and wait for the welcome screen with the avatar to come up.
- Check that your welcome texts are shown — if you see the original demo texts, end the conversation and try again; settings are loaded when a conversation starts.
- Tap a language button (with the Text Button option, the start-conversation button) — the avatar speaks up and greets you.
- Say “hello” out loud and watch for a blue bar with the transcribed text at the top of the screen. That means the terminal can hear you.
- Try the on-screen buttons as well — Visit, I have a QR code, Mail/courier. They trigger exactly the same scenarios as a spoken request.
⚠️ Watch out for the “push to talk” button. It is on by default: the visitor has to hold the on-screen button down the whole time they are speaking and release it when they finish. It’s the most common reason a new user thinks the terminal can’t hear them. Bear it in mind during testing and tell any colleagues who will be demonstrating the terminal.
⚠️ Avatar hears you but doesn’t react to the words? Get in touch. It’s usually the ambient-noise suppression setting for that particular microphone and we tune it remotely — no need to deal with it on site.
Phase 4 — Testing aReception
Now try the whole thing from the visitor’s point of view. Before you put the terminal into
live operation, walk through all the scenarios.
How to send an invitation
There are two ways to issue an invitation. Both lead to the same result: the visitor receives
an email with a QR code they use to check in at the terminal.
A) From the portal
Visits → New Invite
- Select or create the visitor (name, email).
- Select the host — the contact the visit belongs to.
- Set the date and time of the visit.
- Send. The visitor receives an email with a QR code.
Good for planned visits entered by reception or an assistant.
B) By email via invite@areception.ai
The fastest route for regular employees — they never have to open the portal.
When creating a meeting in Outlook or Google Calendar, add
invite@areception.ai as
another attendee. The system processes the meeting and sends every external attendee an
email with a QR code.How it works:
Situation | What happens |
The meeting is created by your employee who exists in the portal as a contact | The invitation is created and they are recorded as the host. |
An attendee has an email from your domain (configured in Internal Domains) | Treated as a colleague, receives no invitation. |
An attendee exists in the portal as a contact | Same — treated as a colleague. |
An attendee is external | Created as a visitor and receives an email with a QR code. |
You move or change the meeting | The invitation is updated automatically and a new QR code is sent. |
You cancel the meeting | The invitation is cancelled automatically. |
Something goes wrong | The meeting organiser receives an email back explaining why. |
⚠️ The meeting organiser must exist in the portal as a contact — otherwise the system doesn’t know which account the invitation belongs to and sends them an error message back. Before you announce this route to employees, check that they are all under Contacts.If a meeting has only internal attendees, no invitation is created — which is correct, only external visitors need a QR code.
Try it: create a meeting, add
invite@areception.ai and your private email address as an
attendee. A QR code will arrive at your private email shortly.How a visit is handled — from the visitor’s point of view
The visitor walks up to the terminal, taps a language button and the avatar greets them.
From there they either say what they need or pick one of the buttons below the avatar.
Both lead to the same scenario.
🔹 Visit (unannounced)
The “Visit” button, or simply saying “I’m here to see Mr Smith”.
- The avatar asks who the visitor is here to see. They can say the name out loud or pick it from the contact list on the display.
- The avatar asks for the visitor’s name (by voice, via a form or via the keyboard, depending on the setting).
- The avatar calls the host, tells them “Jane Doe is at reception, putting you through” and connects the call straight away — the host talks to the visitor through the terminal.
- If the host doesn’t answer, the call is forwarded to their backup number, or to the shared backup contact (reception / front office), and the host receives an SMS telling them someone was looking for them.
- The visit is recorded in the portal under Visits.
💡 In higher plans step 3 can be replaced by DTMF options — the host presses a key on their phone and thereby decides what happens (connect the call, open the door, dispense a card, “I’m on my way to reception”). In the BASIC plan the call is connected directly.
🔹 I have a QR code (announced visit)
The “I have a QR code” button.
- The visitor holds the QR code from the email up to the reader on the terminal.
- The terminal finds the invitation, greets the visitor by name and confirms who they have a meeting with.
- The avatar calls the host and connects the call — from here on it’s the same as an unannounced visit.
- The visit is recorded in the portal, linked to the invitation.
The QR code becomes valid shortly before the meeting starts (per the setting in Account Settings → Visits) and stops being valid when the meeting ends. If the visitor arrives earlier or much later, the QR code won’t pass — then they use the Visit button.
🔹 Mail and courier
The “Mail/courier” button, or “I have a delivery”.
- The courier says they are delivering a parcel.
- If they name a specific person, the avatar calls that person.
- If they don’t name anyone, it calls the contact from the
deliveriesCallList.
- The avatar tells the courier what to do — where to leave the parcel, or that someone is coming for it.
🔹 Questions about the company
The visitor can ask the avatar anything you put into Avatar Instructions — where to
park, where the toilets are, when reception is open. They can also ask for the current time.
🔹 Evacuation
Declared from the portal (Emergency), not from the terminal.
- Once declared, the terminal switches into evacuation mode.
- Visitors who have a phone number in the system receive an SMS with instructions.
- At the assembly point people confirm they are safe by entering the assembly point code.
- In the portal you see in real time who has been evacuated and who hasn’t.
Checklist before going live
Go through this on the terminal itself. It takes 15 minutes and catches most problems.
The terminal wakes up, the avatar speaks and is audible over normal operating noise
“Push to talk” — you know the button is held down for the whole time you speak
Visit by voice — “I’m here to see Mr Smith” → the avatar finds the right person
Visit by button — the contact list appears and can be scrolled
The call connects and the person called hears who is calling and why
No answer — an unanswered call falls back to the backup contact and the host gets an SMS
QR invitation from the portal — an invitation sent to yourself passes check-in
Invitation via
invite@areception.ai — a meeting with an external attendee creates an invitationMail / courier — the right person is called
Foreign language — the language button works and the avatar answers in the chosen language
Question about the company — the avatar answers based on Avatar Instructions
The visit appears in the portal under Visits within a few seconds
Evacuation (if you use it) — declaring it switches the terminal over and the SMS arrives
Phase 5 — Enjoy your aReception virtual receptionist
Done. The terminal is running and handling visitors. From now on, maintenance is a matter of
a few minutes a month.
What you change yourself
When | What to do |
An employee joins or leaves | Contacts — add or delete, generate STT boosting and fill in the backup number |
A phone number changes | Contacts — edit the number |
A stand-in changes (new assistant, different colleague) | Contacts — edit Backup Phone Number on that person |
A change at reception or the front office | Custom Settings — edit secretariatCallList |
New information for visitors (relocation, closure, an event) | Avatar Instructions — add it to the company information section |
Seasonal welcome text | Welcome Screen |
A new colleague in the portal | Account Settings → Users |
What we recommend doing in the first month
Send employees the number the virtual receptionist calls from. It is one single
number for all calls from the terminal — we will give it to you at handover (it
differs by country). Have people save it in their contacts: a call from this number
always means “a visitor has arrived and is waiting at reception”. This markedly
increases the number of answered calls.
Tell employees about
invite@areception.ai — the more visitors arrive with a QR
code, the faster the check-in and the fewer calls to reception.Review the Visits section after a week — you’ll see who visits most often and
whether a contact is missing somewhere.
Add the questions that came up to Avatar Instructions — visitors ask about things
you never thought of. Every sentence added means one less question at reception.
Check that contacts are up to date — a dead phone number is the most common cause
of “it doesn’t work”.
When you’re stuck
Write to us. Anything that isn’t in the portal — a new scenario, an integration, different
hardware, microphone tuning or translations — is on us.
✉️ support@areception.ai
📞 +420 580 000 777
🕗 Mon–Fri 8AM–5PM (CET/CEST)
Appendix A — Custom setting keys
Device Settings → Custom Settings
Key | Value | Meaning |
secretariatCallList | ["Reception", "Front Office"] | Backup contacts for calling when the host can’t be reached. Contact display names, called in order. |
missedCallSmsText | text | SMS to a host who missed the call. $visitor_name can be used. |
deliveriesCallList | ["Deliveries"] | Who to call for deliveries when the courier doesn’t name anyone. |
deliveriesMessageEn, …Cs, …Sk, …De | text | The sentence the avatar says to the courier when taking a delivery. One key per language used. |
visitorNameInput | voice, form, keyboard | How the visitor’s name is entered. |
requireVisitorPhoneNumber | true / false | Ask for and store the visitor’s phone number (required for evacuation SMS). |
displayContactSubtitle | true / false | Show a subtitle (position, department) under a contact in the list. |
disableListening | true / false | Turn off voice input, buttons only. For very noisy locations. |
Keys outside this list are not read by the scenario. The portal also blocks some names as
reserved — if it reports Reserved key name, get in touch.
Contact custom fields (Account Settings → Contact Custom Fields) — these are not the
same thing as device custom settings:
Identifier | Type | Meaning |
backupPhoneNumber | Text | The host’s backup phone number — where the call is forwarded when they don’t answer. |
contactSubtitle | Enum | Subtitle of the contact in the list on the terminal (position, department). Shown when displayContactSubtitle = true. |
Appendix B — The mandatory block in Avatar Instructions
This block must stay in the system prompt. Without it the avatar will not trigger any
scenario. Only include the language commands for the languages you actually use.
plain text### Special actions you can perform ### If you want to start a dialogue to select an employee and then connect by phone, append at the end of your response a special command in the form {"command": "MEETING"}. If a visitor wants to call a specific person and mentions their name, **return only the command** {"command": "MEETING", "name": "<employee name>"}. If the visitor has a QR invitation or came to an agreed meeting, add the command {"command": "VISIT"} at the end of the reply. If you want to start a dialogue to call an employee to receive mail, do not say anything and return only the command in the form {"command": "DELIVERIES"}. If you want to start a dialogue to assign a delivery to a specific employee, **return only the command** {"command": "DELIVERIES", "name": "<employee name>"}. If you want to change the language to German, do not say anything and just send the command in the form {"command": "LANG-DE"}. If you want to end the conversation or at farewell, append at the end of the response a special command in the form {"command":"END-CONVERSATION"}. ### Buttons ### Under the digital assistant avatar are buttons for quick selection. The same functionality can be requested verbally by the user and if this happens, then add a special command according to the requested button to your response. Here is a list of buttons: # Visit - the visitor has the option to say or select from the list the name of the employee and then connect with them by phone {"command": "MEETING"} # I have a QR code - the visitor scans the QR code from the invitation and then connects by phone to the host {"command": "VISIT"} # Mail/courier - information for people delivering a parcel {"command": "DELIVERIES"}
Optionally you can add routing to specific people by area of responsibility after the block:
plain textIf the visitor wants to resolve a specific matter, connect them to the employee responsible for that area by adding the command {"command": "MEETING", "name": "<employee name>"} at the end of your response. A list of employees and their areas follows. Jane Doe: invoicing, orders Peter Smith: complaints
Appendix C — Common problems
Symptom | Cause | Fix |
The visitor says the terminal “can’t hear” | They didn’t hold the “push to talk” button down the whole time they were speaking | Explain it to staff and colleagues, or ask us to turn it off |
The avatar offers nobody to call | Contacts are empty | Check the Contacts section |
The avatar hears the name but can’t find it | STT boosting missing, or the display name is different | Generate STT boosting on the contact |
The call never connects | Contact without a phone number, or a number in local format | Add the number in +44… format |
An unanswered call goes nowhere | The host has no Backup Phone Number, or secretariatCallList is empty | Fill in the backup contacts (Phase 2, Step 3) |
Employees don’t answer the calls | They don’t recognise the number the receptionist calls from | Send the number out to employees (Phase 5) |
The avatar stopped connecting calls after a prompt edit | The “Special actions” block was deleted | Restore the block from Appendix B |
The avatar refuses to give the time or date | The prompt forbids it | Remove sentences about what it doesn’t have access to |
The terminal transcribes speech nobody said | There is a TV, a talk radio or another terminal nearby | Move the terminal or the sound source |
A setting change had no effect | Settings are loaded when a conversation starts | End the conversation and start again |
An invitation by email never arrived | The meeting organiser isn’t a contact, or all attendees were internal | Check Contacts and Internal Domains |
The QR code doesn’t pass at the terminal | The visitor arrived outside the invitation’s validity | Check in via the Visit button |
The avatar hears you (blue bar) but doesn’t react to words | Noise suppression setting for the microphone | Get in touch, we’ll tune it remotely |