Set up
Getting started
From zero to a live assistant in four moves. First-timers get a guided Setup wizard β
a five-step walkthrough (profile β knowledge β branding β AI engine β launch) with a progress
bar that you can finish or skip and return to.
1 Β· Create your workspace
Sign up with your business name and type (products / services / both).
You get a 14-day trial of everything and a portal at /portal. Your assistant lives at a
link like https://your-platform/t/your-business/
2 Β· Teach it
In Portal β Knowledge, add sources β 16+ formats across four families. Each becomes
searchable knowledge with its origin tracked, and the assistant cites it in answers. See
Teaching your assistant for the full list.
3 Β· Brand it & pick the brain
Appearance: assistant name, logo, accent colour, welcome line, starter questions,
answer language. Voice & persona: writing style, tone and speaking voice. AI
engine: choose a provider and model β Claude Fable 5 is the default recommendation, and
failover is automatic. See Appearance, Voice &
persona and The AI engine.
4 Β· Go live
Paste one line before </body> on any website:
<script src="https://YOUR-PLATFORM/t/YOUR-SLUG/embed.js" defer></script>
Options: data-voice="1" opens in voice mode; data-label="Ask us"
changes the launcher text; data-copilot="1" lets the assistant read the host
page and spotlight buttons during walkthroughs (for in-app help); data-open="0"
suppresses the proactive pop-up on a specific page. No website? Share the
direct link on WhatsApp, Instagram or your email signature β or connect a messaging channel so
the assistant answers customers right inside their app (see
Answer on every channel).
Proactive pop-up
In Appearance β Proactive pop-up, switch the teaser on, choose a delay and (optionally)
your own message. A small branded bubble greets each visitor after the delay β once per
visitor per day. Clicking it opens the chat; the β dismisses it quietly.
Embedding in your own app
The same one-liner works inside a web app for your staff or signed-in customers. Add
data-copilot="1" and the assistant can see the current screen (title, headings,
visible buttons, on-screen errors) and spotlight the exact element to click during
step-by-step help. For native mobile apps, load your assistant's direct link in a WebView β
it's an installable, standalone-capable page.
Teaching your assistant
In Portal β Knowledge, add sources β 16+ formats across four families. Each becomes
searchable knowledge with its origin tracked, and the assistant cites it in answers:
- Web & feeds β a single page (paste a link), a whole-site crawl or a
sitemap.xml (each reads up to your plan's page limit β 50 on Free, up to
10,000 on Enterprise; big sites are read in slices with live progress), or an
RSS/Atom feed that keeps pulling new posts
as you publish.
- Documents β PDF, Word (.docx), PowerPoint (.pptx), Excel (.xlsx), CSV, plain text,
Markdown (.md) and HTML files. Drag-and-drop or browse. A scanned or image-only PDF β
one that's really a photo of a page with no selectable text β is read automatically by AI
vision (OCR, up to 8 pages), so a PDF that is really a picture still becomes searchable
text.
- Images β screenshots, scanned price lists, flyers: read by AI vision. Drop many
at once and they upload in parallel as one grouped image set (up to 60).
- Audio & video β voice notes and recordings, transcribed (configure a speech
provider under Voice & persona). Paste any YouTube link β
watch?v=, youtu.be, a Short, an embed link or just the video id,
with or without https:// β see below.
- Q&A & FAQ β type facts directly, or paste Q:/A: pairs and each becomes its
own verified answer. These outrank every other source. Short is fine β
βQ: What time do you open? A: 7am, every day.β is a perfectly good source.
Processing runs in the background; the knowledge base rebuilds itself (including a local
semantic index β meaning-level search with zero external calls) when the queue drains.
As each source is read it's split along its own headings rather than at blind character
counts, so a passage stays on one topic; tables are pulled out as structured rows instead
of collapsing into a wall of numbers; and every passage is enriched with keywords across
languages, so a question asked in one language can still surface content written in
another.
Adding a YouTube video
Paste the link and the thumbnail appears as soon as we recognise it, so a wrong paste is
caught before you press Add. We take the video's title, channel and description, and its
transcript when YouTube gives us one.
Since 2025 YouTube refuses to hand transcripts to servers for
most videos. That is their change, not a fault in your video, and no amount of retrying
gets around it. When it happens the source still succeeds with the title and description, and
the row says so plainly rather than failing.
To add the spoken content, paste the transcript β it always works and takes about ten
seconds. On YouTube, open the video's description (β¦more under the title), scroll
to its end β Show transcript β click the first line, Shift-click the last, copy.
Timestamps are fine β they're stripped automatically.
Then paste it under Knowledge β YouTube, or press οΌ Transcript on a video you
already added. You can also upload the audio or video file and have it transcribed instead.
Managing what it knows
The Knowledge base panel shows live counts (passages, sources, pinned answers), whether
the semantic index is on, and when it last built β with a Rebuild now button. The
Sources table lists every source with its status, passage count and date, and a
Retry (on error) or Delete control. Test what the assistant will find lets
you type a question and see the exact passages it would retrieve β see also the
retrieval & quality tools.
Beyond the basics, each source carries its own controls:
- Health score β Temira quietly asks each source a handful of questions drawn from its
own content and grades how well it can answer them, giving every source an answerability
rating. A low score points you straight at a source that reads fine to a human but is thin
to a machine β and the questions it failed are shown right there.
- βWhat was readβ β open a website source to see its coverage: every page that
was captured, and every one that wasn't, each with the reason (excluded by
robots.txt, over the plan limit, a redirect, an error). Nothing is a black
box.
- Boost β nudge one source up or down in the ranking when you want, say, your official
policy page to win ties over an old blog post.
- Cross-source de-duplication β when the same passage turns up in two sources (a PDF and
the web page it came from), Temira collapses the duplicate, so answers don't repeat themselves
and one topic doesn't crowd out the rest.
Answer-only sources, and rolling back
Not everything you teach the assistant should be downloadable. An uploaded file is private by
default: its text answers customers, but the file itself is never handed back or linked β so an
internal price sheet can inform a quote without ever leaving your workspace. You can set this per
source with a lock, or turn on a whole-workspace privacy setting so every source is
answer-only unless you say otherwise.
And before any big change β a bulk delete, a full re-crawl, a privacy flip β Temira can take a
snapshot of your knowledge base. If a change goes wrong, one-click rollback restores
the last good state, so experimenting is never a one-way door.
It answers from your knowledge β or it says it doesn't know
Your assistant is grounded: it answers only from the knowledge you gave it, the results of
actions it actually ran, and what the customer told it in the conversation. Its general knowledge of
the world is not a source β it will not describe what your business does based on your industry, your
name, or what similar companies usually offer.
This is enforced in the platform, not just requested of the model. Before any answer is written,
Temira checks whether your knowledge base genuinely covers the question. If it doesn't, the AI is
never asked to answer β the customer gets an honest "I don't have that" together with an offer to
talk to a person or open a support ticket. A brand-new assistant with an empty knowledge base cannot
invent a description of your business, because there is no path by which it could.
Why this matters. A confident wrong answer costs more trust than
no answer at all. Temira is built to say "I don't know" and hand over, every time.
Big websites, page limits & freshness
Website and sitemap crawls read your site's own published sitemap first (so no page is
missed), then follow links for anything unlisted β up to your plan's page limit: 50 pages
on Free, 300 on Starter, 1,500 on Growth, 5,000 on Scale, 10,000 on Enterprise (the
Add-knowledge form shows your current limit). Big or slow sites are read in slices: the
source's detail line shows live progress ("Reading your website β 212 pages so farβ¦") and the
crawl continues where it left off until the site is fully read or your limit is reached. If your
site is bigger than your plan reads, the source says exactly how many pages were left β nothing
is ever silently skipped β with a one-click upgrade to read it all.
On paid plans your website sources are re-read automatically so answers stay current β
monthly on Starter, weekly on Growth, daily on Scale β with no action needed from you.
A re-read never leaves you worse off. While a source is being refreshed the assistant keeps
answering from the last good version, so there's no window where it goes
quiet. If a re-read comes back with far less content than before β a sign your site was
mid-deploy, or a page template broke β Temira holds the shrunken result for your review
instead of publishing it, and you either accept it or retry. And if many pages simply vanish
between reads, you get a change alert by email so you can check whether that was
intentional.
Your assistant never goes dark. Between always answering from
the last good version and holding a shrunken re-read for review, a bad crawl can't wipe out
working knowledge β the worst case is that answers are a little older until you take a look.
We read your site at your server's pace
Temira crawls politely β a couple of pages at a time with a pause between each. If your server
pushes back (many hosts have anti-flood rules that reject rapid visitors), Temira slows down
automatically, waits, and comes back for that page later instead of giving up on it, then speeds
back up once your server is comfortable. It also honours your robots.txt, and tells you
how many pages that excluded so you can change it if you'd rather they were included. The practical
promise: the only thing that leaves a page unread is your plan's page limit β never a refused
request.
You can also scope a crawl to one section of a site β point it at
example.com/help and it stays under that path instead of wandering the whole domain,
which keeps a support centre's knowledge clear of the marketing site. And single-page-app sites
that once produced a storm of near-identical placeholder pages (every route returning the
same empty loading shell before JavaScript fills it in) are now detected and skipped, so your
passage count reflects real content, not scaffolding.
Watching a crawl, and pausing at your plan limit
While a site is being read, the Knowledge page shows a live progress card: which stage it's in,
pages captured, links still queued, any pages waiting to be retried, and how much of your plan's page
allowance is used β with the title of the page it just read, so you can see it moving.
If your site is bigger than your plan reads, the crawl pauses instead of failing. Everything
captured is saved and your assistant answers from it right away, and the card tells you exactly how
many pages are still waiting. After you upgrade, press Continue crawling and it resumes from
precisely where it stopped β nothing already read is fetched again, and you never delete and re-add
the source.
When a page tries to give your assistant orders
Anything read from the open web is treated as untrusted. Someone who can get text onto a
page you crawl β a product review, a forum post, a blog comment β could otherwise write straight
into your assistant's instructions. Temira neutralises the parts a computer would obey (command
lines, control tags) as the content is read, and keeps the rest exactly as written.
Text that merely reads like an instruction is reported, not deleted: the source
shows a β N flagged pill and the detail view names what was found, so you can look at the
page and decide. A legitimate page is allowed to discuss the topic β these very docs do.
Measured on a real 1,262-passage knowledge base, this changed 0 passages: the protection
is invisible to genuine documentation.
More detail, including what it does and does not protect against, is under
Privacy, data & security.
Appearance & branding
In Portal β Appearance, shape how the widget looks β with a live preview beside every
change:
- Identity β assistant name, accent colour (a primary and a darker shade are derived
for you), a logo you upload (png/jpg/svg/webp), a welcome banner and a spoken greeting
(use the
{name} token).
- Proactive pop-up β the teaser bubble toggle, its delay and your own message.
- Answer language β Auto-detect or one of 17 fixed languages (see
Languages).
- Starter questions β up to six one-tap prompts that greet a new visitor.
- Embed β the copy-ready one-line script and your assistant's direct link.
- Show the knowledge line under the chat β the line reading
βYour Business Β· 425 knowledge passages Β· Answers come from the business's own published
informationβ. Off by default: most customers only want the answer, and a passage
count means nothing to them β with it off the assistant reads as part of your own product.
Turn it on when you want the grounding claim visible.
On paid plans you can remove the βPowered by Temiraβ badge; Scale and Enterprise add
white-label (and, on Enterprise, your own domain).
Voice & persona
In Portal β Voice & persona, give the assistant a personality and, if you want, a real
speaking voice.
Persona
- Writing style β a preset (Professional, Friendly, Playful, Formal, Expert, Caring, or
Custom), plus a free-text tone in your own words.
- Answer length β Brief, Balanced or Detailed. Formality β Casual, Neutral or
Formal.
- Emoji β allow tasteful emoji, or keep it clean.
- House-style rules β a free-text box for the things it must always (or never) say.
- Speaking rate β a slider from 0.6Γ to 1.4Γ, plus βspeak brief acknowledgementsβ and
an optional wake word (βHey {name}β).
Bring your own speech engines
Voice is powered by your own (or the built-in) speech providers, configured here and proxied
server-side so keys never reach a browser:
- Text-to-speech β an OpenAI-compatible endpoint, key, model and voice, with
βΆ Hear a test sentence.
- Speech-to-text β a Whisper-compatible endpoint, key and model.
- Realtime voice β for full-duplex spoken conversations: a session URL, key, model and
voice.
A live Voice setup checklist at the top of the page confirms both halves are in place β
the assistant must be able to speak (text-to-speech) and hear
(speech-to-text). It updates as you type and flags common slips (for example a
api.openapi.com endpoint that should read api.openai.com), so a
visitor never gets a bot that can talk but can't listen.
The AI engine
In Portal β AI engine, choose which model answers β and how it's metered.
- Providers β ten engines are supported: Anthropic (Claude), OpenAI, Google
Gemini, DeepSeek, Groq, Mistral, xAI Grok, GitHub Models, OpenRouter and a local
Ollama tier. Each row takes your API key (masked), a model dropdown, βΆ Test
(shows latency and pass/fail) and Use to make it active. Paste your own key for
unlimited answers billed by the vendor, or leave it blank and use the built-in engine metered
by your plan.
- Behaviour β Automatic failover (if one engine is down mid-conversation, the
next in line answers, and the real engine that answered is recorded), use the built-in
engine when you have no key, an answer cache (identical questions served free), and
a daily AI-answer cap (0 = unlimited).
- Usage (last 90 days) β a day-by-day table of provider, model, answers (with the
built-in count) and tokens, so cost is never a surprise.
- Local model tier β point at an Ollama-compatible endpoint and Run certification;
once a model passes a graded β₯90% exam against your knowledge, the assistant can serve from it
first.
How it picks the evidence
Retrieval is tuned to hand the model varied, on-point evidence rather than five
near-identical snippets: a diversity pass trades a little raw similarity for breadth,
so an answer draws on the different things your knowledge actually says. Search is
typo- and meaning-tolerant β the local semantic index matches on meaning, so a misspelt or
loosely-worded question still finds the right passage.
If a question still comes back ungrounded, Temira doesn't give up on the first try: it
rephrases the question into keywords and retries once before saying it doesn't know. An
answer found on that second pass is marked cautious so you know it took the rescue path β
and if there's genuinely nothing to stand on, it still refuses rather than inventing.
Semantic search uses the built-in local index by default. If you'd rather, you can
bring your own embeddings β point at an OpenAI-compatible key β but it's off by
default and never required.
These extras are free of your answer budget. The small AI
helpers behind retrieval, health scores, query rescue and the quality tools run on a
separate capped budget that never touches your monthly answer allowance β improving
the assistant never eats into the answers your customers get.
What it does
What the assistant can do
Toggle these under Portal β Actions & catalog. Every action is validated server-side
and rate-limited; a failed action is reported honestly.
- Price quotes β exact arithmetic from your portal price list. It refuses to quote if the list is empty.
- Support tickets β asks for the visitor's email, opens a ticket with a reference like APX-T1042, alerts your team.
- Callbacks β captures name + phone as a lead.
- Bookings β appointment requests with preferred time (service businesses).
- Order capture β items + quantities recorded with a reference; priced automatically
when the items match your catalog.
- In-chat payment β priced orders come back with a secure hosted payment link from
your own gateway β 14 built in worldwide (Paystack, Flutterwave, Stripe, PayPal
and more) plus a Custom option (see Payments).
- Store search & store orders β with a connected store (Shopify, WooCommerce,
BigCommerce, Magento or a custom API): live product search and real orders with your store's
own checkout link.
- Order tracking β "where is my order APX-O87?" answered from your workspace or
live from your connected store.
- Account & record lookups β optional, read-only: connect any of the
41 integrations (CRM, ERP, helpdesk, calendar, spreadsheetβ¦) and the
bot answers "where is my invoice INV-1042?", "is my subscription active?", "what's my ticket
status?" from live data β consulting every connected system at once.
The Alerts section here also sets where each lead/ticket/booking is sent β an email
address and/or a webhook (POST JSON to your CRM or Zapier).
Payments in the chat
In Portal β Actions β Payments in the chat, connect your own gateway and paste its
key(s). Fourteen gateways are built in, spanning Africa, Asia, the Americas and Europe:
- Africa β Paystack, Flutterwave, Monnify, CinetPay.
- Global cards & wallets β Stripe, PayPal, Square, Razorpay, Xendit, Tap,
Mercado Pago, Mollie.
- Crypto β Coinbase Commerce.
- Custom β wire any other provider that issues a hosted payment link over a REST API
(this is how, e.g., Espees connects until a first-class option exists). Existing
Paystack/Stripe workspaces keep working unchanged.
From then on, any order with a confirmed total (computed from your price list or your connected
store β never by the AI) returns a hosted payment link the assistant shares in the conversation.
Customers pay on the gateway's own secure page; settlement goes directly to your gateway account;
the order flips to paid automatically on confirmation. For instant server-side
confirmation, add the webhook shown in the portal to your gateway dashboard. You can also
generate or copy a payment link for any order manually from the Inbox.
Connected systems (connectors)
In Portal β Actions β Connected systems, plug the assistant into what you already run,
so it answers your customers from live data β "where's my order / booking / ticket / invoice?",
"is my subscription active?", "when's my appointment?". Pick a system, fill a couple of fields,
and press βΆ Test connection before saving.
41 ready-made integrations
The Type dropdown offers 41 named integrations across 10 categories β each a one-fill
recipe. Selecting one shows exactly which fields to enter, a short description, a docs link and
what the assistant gains:
- Commerce & inventory β Shopify, WooCommerce, BigCommerce, Square, Magento 2.
- Booking & scheduling β Calendly, Acuity, Cal.com.
- CRM & customers β HubSpot, Pipedrive, Salesforce, Zoho CRM, Stripe, Intercom,
ActiveCampaign, Brevo.
- ERP & finance β ERPRevolution (first-class: its own signed API-v2
connector, the picker's first row and default), ERPNext, Odoo, QuickBooks Online, Xero,
Sage Accounting, Zoho Books.
- Support & helpdesk β Zendesk, Freshdesk, Zoho Desk, Gorgias, Front.
- Payments & transactions β Paystack (customers), Flutterwave (transactions).
- Data & spreadsheets β Airtable, Notion, Google Sheets.
- Project & productivity β Asana, Trello, ClickUp.
- Social & media β Facebook Page, Instagram Business, YouTube, X (Twitter) β read
your own posts / media / videos.
- Microsoft & Google β Microsoft 365 (Graph: Outlook, Bookings, SharePoint,
OneDriveβ¦), Google Calendar, Google Contacts, Google Drive.
Each recipe pre-sets the authentication β API key, bearer, basic, or a full OAuth 2 login
(refresh-token or client-credentials) for the enterprise systems β so you only supply your own
values. Every preset is a starting point you confirm with βΆ Test connection against your
live account. OAuth systems (Salesforce, Zoho, QuickBooks, Xero, Sage, Microsoft 365, Google)
need a one-time app registration on the vendor's side; the recipe handles everything after.
Connect several at once. A workspace can wire up many systems
together β say a Shopify store and a Salesforce CRM and a Zendesk helpdesk and
a Google Calendar and an ERPNext ledger β and the assistant automatically asks the right
one for each question (order status from the store, "who am I" from the CRM, ticket status from
the helpdesk, next appointment from the calendar, invoice from the ledger). Product search and
record lookups fan out across every connected source and merge the results.
Or build your own
For anything not on the list, the original building blocks are still there:
- Webhook β one endpoint on your side receives
{"op": "search | order_status | create_order | lookup", β¦} and your code
decides everything. Optional bearer secret.
- Custom REST API β fits any documented API: describe each operation's method, path
and body (with
{query}/{ref} placeholders) and pick the auth β
bearer, API-key header, basic, query key, or session login: provide a credential and
the platform signs in the way a person would (posts to your login URL, extracts the token
or session cookie), then calls the API on the visitor's behalf. Every named integration above
is a ready-made recipe over this same engine.
Connect step-by-step β every gateway & system
Connect your own payment provider and the assistant closes the sale itself β a priced order returns in the chat as a secure hosted payment link, and the money settles into your account. Temira never sees card details, and you never configure a webhook or redirect URL. Expand any gateway for the exact fields and click-by-click steps.
The 14 payment gateways
P1PaystackAfrica Β· NGN, GHS, ZAR, KES, USD β cards, bank, USSD, mobile money
| Field in Temira | What to enter |
|---|
| Secret key | sk_live_β¦ |
1 Β· Get your credentials β dashboard.paystack.com
- Sign in to your Paystack dashboard at dashboard.paystack.com.
- In the left-hand menu, click Settings, then open the API Keys & Webhooks tab.
- Find the Secret Key row. Click the eye / Reveal icon, then Copy it. A live key starts with
sk_live_; a test key starts with sk_test_. - Use the live secret key to receive real money. (Toggle Test mode at the top only while experimenting.)
2 Β· Turn it on in Temira
- Open the Actions & catalog page (β‘) from the left menu.
- In the Payments in the chat card, open the Provider dropdown and choose Paystack.
- Fill in the field(s) that appear (see the table).
- Optional: set Charge currency to force a currency; leave blank for your workspace currency.
- Click Save payments. Priced orders now return a Paystack payment link that settles into your account.
- Paste the SECRET key, not the Public key (
pk_β¦). Temira warns you if the key doesn't start with sk_. - You do NOT need to add a webhook or callback URL in Paystack β Temira handles the return and confirms the payment for you.
P2FlutterwaveAfrica Β· NGN, GHS, KES, ZAR, UGX, USD β cards, bank, mobile money across Africa
| Field in Temira | What to enter |
|---|
| Secret key | FLWSECK-β¦ |
1 Β· Get your credentials β dashboard.flutterwave.com
- Sign in to your Flutterwave dashboard.
- Open Settings (gear icon), then the API section/tab.
- Copy your Secret Key. A live key starts with
FLWSECK-; a test key starts with FLWSECK_TEST-.
2 Β· Turn it on in Temira
- Open the Actions & catalog page (β‘) from the left menu.
- In the Payments in the chat card, open the Provider dropdown and choose Flutterwave.
- Fill in the field(s) that appear (see the table).
- Optional: set Charge currency to force a currency; leave blank for your workspace currency.
- Click Save payments. Priced orders now return a Flutterwave payment link that settles into your account.
- Paste the SECRET key (not the Public key). Temira checks it begins with
FLWSECK. - No redirect or webhook configuration is needed on Flutterwave's side.
P3MonnifyAfrica Β· NGN β cards, bank transfer, USSD (Nigeria)
| Field in Temira | What to enter |
|---|
| API key | MK_PROD_β¦ |
| Secret key | your secret key |
| Contract code | your contract code |
1 Β· Get your credentials β app.monnify.com
- Sign in to your Monnify dashboard at app.monnify.com.
- Go to Settings, then API Keys & Webhooks.
- Copy your API Key (starts with
MK_PROD_ for live, MK_TEST_ for test) and your Secret Key. - Find your Contract Code β it is shown on the dashboard/Settings (a numeric code tied to your account).
2 Β· Turn it on in Temira
- Open the Actions & catalog page (β‘) from the left menu.
- In the Payments in the chat card, open the Provider dropdown and choose Monnify.
- Fill in the field(s) that appear (see the table).
- Optional: set Charge currency to force a currency; leave blank for your workspace currency.
- Click Save payments. Priced orders now return a Monnify payment link that settles into your account.
- Monnify needs all three: API Key, Secret Key and Contract Code.
- Use
MK_PROD_ keys to receive real payments in Naira.
P4CinetPayFrancophone Africa Β· XOF, XAF, CDF, GNF β Orange/MTN/Moov money, cards (CI, SN, CMβ¦)
| Field in Temira | What to enter |
|---|
| API key | your CinetPay API key |
| Site ID | your site id |
1 Β· Get your credentials β app.cinetpay.com
- Sign in to your CinetPay merchant dashboard at app.cinetpay.com.
- Open Intégrations (Integrations) or Paramètres (Settings).
- Copy your API Key (clΓ© API) and your Site ID (identifiant du site / numΓ©ro de service).
2 Β· Turn it on in Temira
- Open the Actions & catalog page (β‘) from the left menu.
- In the Payments in the chat card, open the Provider dropdown and choose CinetPay.
- Fill in the field(s) that appear (see the table).
- Optional: set Charge currency to force a currency; leave blank for your workspace currency.
- Click Save payments. Priced orders now return a CinetPay payment link that settles into your account.
- Temira needs both the API key and the Site ID.
- CinetPay supports Orange/MTN/Moov mobile money and cards across Francophone Africa (XOF, XAF, CDF, GNF).
P5StripeGlobal Β· 135+ currencies worldwide β cards, wallets, local methods
| Field in Temira | What to enter |
|---|
| Secret key | sk_live_β¦ |
1 Β· Get your credentials β dashboard.stripe.com
- Sign in to your Stripe dashboard at dashboard.stripe.com.
- Click Developers (top-right), then API keys β or type “API keys” into the search bar.
- Under Standard keys, find Secret key, click Reveal live key, then copy it. It starts with
sk_live_. - To test first, switch on Test mode (top-right toggle) and copy the
sk_test_ key instead.
2 Β· Turn it on in Temira
- Open the Actions & catalog page (β‘) from the left menu.
- In the Payments in the chat card, open the Provider dropdown and choose Stripe.
- Fill in the field(s) that appear (see the table).
- Optional: set Charge currency to force a currency; leave blank for your workspace currency.
- Click Save payments. Priced orders now return a Stripe payment link that settles into your account.
- Use the Secret key (
sk_live_ or a restricted rk_ key) β never the Publishable key (pk_β¦). - No webhook setup is required in Stripe; Temira verifies each Checkout Session automatically when the customer returns.
P6PayPalGlobal Β· 200+ markets, 25 currencies β PayPal balance, cards, Pay Later
| Field in Temira | What to enter |
|---|
| Client ID | your REST app Client ID |
| Secret | your REST app Secret |
| Mode | choose: Sandbox (testing) / Live |
1 Β· Get your credentials β developer.paypal.com
- Sign in at developer.paypal.com with your PayPal business account.
- Open the Dashboard, then Apps & Credentials.
- Switch to Live (top toggle) to accept real money, or Sandbox to test.
- Click Create App (or open an existing app). Give it any name.
- On the app page, copy the Client ID and the Secret (click Show under Secret).
2 Β· Turn it on in Temira
- Open the Actions & catalog page (β‘) from the left menu.
- In the Payments in the chat card, open the Provider dropdown and choose PayPal.
- Fill in the field(s) that appear (see the table).
- Optional: set Charge currency to force a currency; leave blank for your workspace currency.
- Click Save payments. Priced orders now return a PayPal payment link that settles into your account.
- In Temira, set Mode to Live when you pasted Live credentials, or Sandbox for test ones β they are not interchangeable.
- Temira needs BOTH the Client ID and the Secret from the SAME app and mode.
P7SquareGlobal Β· USD, GBP, CAD, AUD, JPY, EUR β cards, Apple/Google Pay (US, UK, CA, AU, JP)
| Field in Temira | What to enter |
|---|
| Access token | EAAA⦠(production) |
| Location ID | your location id |
1 Β· Get your credentials β developer.squareup.com
- Sign in at developer.squareup.com and open the Developer Dashboard.
- Open your application (or create one), then switch to the Production tab.
- Under Credentials, copy the Access token (production token, begins with
EAAA). - Open Locations (in the same app, or in your Square Dashboard under Account & Settings β Business β Locations) and copy your Location ID.
2 Β· Turn it on in Temira
- Open the Actions & catalog page (β‘) from the left menu.
- In the Payments in the chat card, open the Provider dropdown and choose Square.
- Fill in the field(s) that appear (see the table).
- Optional: set Charge currency to force a currency; leave blank for your workspace currency.
- Click Save payments. Priced orders now return a Square payment link that settles into your account.
- Temira needs both the Access token and the Location ID (the store/location that will receive the money).
- Use the Production token for real payments; the Sandbox token only works with test cards.
P8RazorpayIndia Β· INR β cards, UPI, netbanking, wallets
| Field in Temira | What to enter |
|---|
| Key ID | rzp_live_β¦ |
| Key secret | your key secret |
1 Β· Get your credentials β dashboard.razorpay.com
- Sign in to your Razorpay dashboard.
- Go to Settings, then API Keys.
- Click Generate Key (or Regenerate). Razorpay shows a Key Id (starts with
rzp_live_) and a Key Secret. - Copy BOTH now β the Key Secret is shown only once, so download or paste it immediately.
2 Β· Turn it on in Temira
- Open the Actions & catalog page (β‘) from the left menu.
- In the Payments in the chat card, open the Provider dropdown and choose Razorpay.
- Fill in the field(s) that appear (see the table).
- Optional: set Charge currency to force a currency; leave blank for your workspace currency.
- Click Save payments. Priced orders now return a Razorpay payment link that settles into your account.
- Temira needs both the Key Id and the Key Secret. If you lose the secret, generate a new key pair.
- Use Live keys to accept real payments; test keys start with
rzp_test_.
P9XenditSoutheast Asia Β· IDR, PHP, THB, VND, MYR, USD β cards, e-wallets, bank transfer, retail
| Field in Temira | What to enter |
|---|
| Secret API key | xnd_production_β¦ |
1 Β· Get your credentials β dashboard.xendit.co
- Sign in to your Xendit dashboard.
- Open Settings, then Developers, then API Keys.
- Click Generate secret key. Give it a name and set the Invoice permission to Write (so Temira can create payment invoices).
- Copy the key immediately β it starts with
xnd_ and is shown only once.
2 Β· Turn it on in Temira
- Open the Actions & catalog page (β‘) from the left menu.
- In the Payments in the chat card, open the Provider dropdown and choose Xendit.
- Fill in the field(s) that appear (see the table).
- Optional: set Charge currency to force a currency; leave blank for your workspace currency.
- Click Save payments. Priced orders now return a Xendit payment link that settles into your account.
- The key must have Invoice: Write permission or Temira can't create the payment page.
- Use a production key (
xnd_production_β¦) for real money; development keys are for testing.
P10TapMiddle East Β· SAR, AED, KWD, BHD, QAR, OMR, EGP β cards, Apple Pay, mada, KNET, benefit
| Field in Temira | What to enter |
|---|
| Secret key | sk_live_β¦ |
1 Β· Get your credentials β dashboard.tap.company
- Sign in to your Tap Payments dashboard.
- Go to Developers, then API Credentials.
- Copy the Secret Key. A live key starts with
sk_live_; a test key starts with sk_test_.
2 Β· Turn it on in Temira
- Open the Actions & catalog page (β‘) from the left menu.
- In the Payments in the chat card, open the Provider dropdown and choose Tap.
- Fill in the field(s) that appear (see the table).
- Optional: set Charge currency to force a currency; leave blank for your workspace currency.
- Click Save payments. Priced orders now return a Tap payment link that settles into your account.
- Use the SECRET key (not the publishable
pk_ key). - Tap covers the GCC / Middle East β cards, Apple Pay, mada, KNET, Benefit.
P11Mercado PagoLatin America Β· ARS, BRL, MXN, CLP, COP, PEN, UYU β cards, PIX, local methods
| Field in Temira | What to enter |
|---|
| Access token | APP_USR-β¦ |
1 Β· Get your credentials β mercadopago.com β Your integrations
- Sign in to Mercado Pago and open the Developers area (mercadopago.com/developers) β Your integrations.
- Create an application (or open an existing one), then click Credentials.
- Choose Production credentials and copy the Access Token. It starts with
APP_USR-.
2 Β· Turn it on in Temira
- Open the Actions & catalog page (β‘) from the left menu.
- In the Payments in the chat card, open the Provider dropdown and choose Mercado Pago.
- Fill in the field(s) that appear (see the table).
- Optional: set Charge currency to force a currency; leave blank for your workspace currency.
- Click Save payments. Priced orders now return a Mercado Pago payment link that settles into your account.
- Paste the Access Token (not the Public Key). A test token starts with
TEST-. - Mercado Pago confirms the payment when your customer returns to the chat β no webhook needed.
P12MollieEurope Β· EUR, GBP + more β iDEAL, Bancontact, SEPA, cards, Apple Pay
| Field in Temira | What to enter |
|---|
| API key | live_β¦ |
1 Β· Get your credentials β my.mollie.com
- Sign in to your Mollie dashboard at my.mollie.com.
- Open Developers, then API keys.
- Copy your Live API key (starts with
live_). A test_ key is available for testing.
2 Β· Turn it on in Temira
- Open the Actions & catalog page (β‘) from the left menu.
- In the Payments in the chat card, open the Provider dropdown and choose Mollie.
- Fill in the field(s) that appear (see the table).
- Optional: set Charge currency to force a currency; leave blank for your workspace currency.
- Click Save payments. Priced orders now return a Mollie payment link that settles into your account.
- Make sure your Mollie account is activated for live payments before using the
live_ key. - Great for Europe β iDEAL, Bancontact, SEPA, cards, Apple Pay.
P13Coinbase CommerceGlobal (crypto) Β· BTC, ETH, USDC, and more β accept crypto worldwide
| Field in Temira | What to enter |
|---|
| API key | your Commerce API key |
1 Β· Get your credentials β beta.commerce.coinbase.com
- Sign in to Coinbase Commerce (commerce.coinbase.com).
- Open Settings, then the Security / API keys section.
- Click New API key, then copy the key (shown once).
2 Β· Turn it on in Temira
- Open the Actions & catalog page (β‘) from the left menu.
- In the Payments in the chat card, open the Provider dropdown and choose Coinbase Commerce.
- Fill in the field(s) that appear (see the table).
- Optional: set Charge currency to force a currency; leave blank for your workspace currency.
- Click Save payments. Priced orders now return a Coinbase Commerce payment link that settles into your account.
- Coinbase Commerce lets you accept BTC, ETH, USDC and more, worldwide.
- Crypto payments confirm on-chain; Temira checks the charge status automatically.
P14Custom / other gatewayAny Β· Connect any provider with a hosted-link REST API (e.g. Espees, regional PSPs). You supply the endpoints; we send a standard payload.
| Field in Temira | What to enter |
|---|
| Create-payment URL | https://api.provider.com/payments |
| Verify URL ({ref} is filled in) | https://api.provider.com/payments/verify?ref={ref} |
| Authentication | choose: None / Bearer token / API-key header / Basic (user + key) |
| Token / key / password (optional) | secret (leave blank if None) |
| Username (Basic only) (optional) | for Basic auth |
| Header name (API-key header only) (optional) | X-Api-Key |
| Path to the link in the create response (optional) | data.url |
| Path to the status in the verify response (optional) | data.status |
| Status value(s) that mean PAID (comma-separated) (optional) | paid,success,completed |
| Amount unit | choose: Major (10.50) / Minor / cents (1050) |
1 Β· Get your credentials β your payment provider's API documentation
- Use this option for any provider not listed above that offers a hosted payment link REST API (for example Espees, or a regional PSP).
- From your provider's API docs, find the endpoint that creates a payment and the endpoint that checks a payment's status.
- Find how the API is authenticated (a Bearer token, an API-key header, or a username + key), and get that credential from your provider's dashboard.
- Note where, in the create response, the payment link appears (e.g.
data.url) and where, in the status response, the paid/unpaid status appears (e.g. data.status), plus which value means PAID.
2 Β· Turn it on in Temira
- Open the Actions & catalog page (β‘) from the left menu.
- In the Payments in the chat card, open the Provider dropdown and choose Custom / other gateway.
- Fill in the field(s) that appear (see the table).
- Optional: set Charge currency to force a currency; leave blank for your workspace currency.
- Click Save payments. Priced orders now return a Custom / other gateway payment link that settles into your account.
- This is the most technical option β if in doubt, ask your provider's support for “the create-payment and verify endpoints and how to authenticate.”
- Temira sends a standard payload (reference, amount, currency, email, callback URL) to your create URL and reads the link back from the path you specify.
{ref} in the Verify URL is filled in automatically with each order's reference.
The 41 connected-system presets
Plug the assistant into the tools you already run so it answers from live data. Each preset is a ready-made recipe β pick it from the Type dropdown, fill a couple of fields, press Test connection, and save. Systems marked Advanced Β· OAuth need a one-time authorization to produce a refresh token.
Commerce & inventory
C1BigCommerceProduct / item search Β· Account & record lookup Β· API docs βLive product search + look up an item by SKU.
| Field in Temira | What to enter |
|---|
| Store API base | https://api.bigcommerce.com/stores/STORE_HASH/v3 |
| X-Auth-Token secret | your API account token |
1 Β· Get your credentials β BigCommerce control panel
- Sign in to your BigCommerce store control panel.
- Go to Settings, then under the API heading open Store-level API accounts (Advanced β API accounts).
- Click Create API account β V2/V3 API token. Name it “Temira”.
- Set OAuth scopes: Products = Read-only (that is all Temira needs).
- Click Save. BigCommerce downloads a file / shows the API Path (your Store API base, like
https://api.bigcommerce.com/stores/STORE_HASH/v3) and the Access Token. Copy both.
2 Β· Connect it in Temira
- Open the Actions & catalog page (β‘) from the left menu.
- In the Connected systems card, click + Connect a system.
- Give it a Name, then in the Type dropdown pick BigCommerce (under “Commerce & inventory”).
- Fill in the fields shown (see the table).
- Click βΆ Test connection, then Save connector.
- Paste the API Path into “Store API base” and the Access Token into “X-Auth-Token”.
C2Square (customers / catalog)Account & record lookup Β· API docs βLook up a customer by email in your Square account.
| Field in Temira | What to enter |
|---|
| Access token secret | EAAA⦠(production) |
1 Β· Get your credentials β developer.squareup.com
- Sign in at developer.squareup.com and open your application (or create one).
- Switch to the Production tab and copy the Access token (begins with
EAAA).
2 Β· Connect it in Temira
- Open the Actions & catalog page (β‘) from the left menu.
- In the Connected systems card, click + Connect a system.
- Give it a Name, then in the Type dropdown pick Square (customers / catalog) (under “Commerce & inventory”).
- Fill in the fields shown (see the table).
- Click βΆ Test connection, then Save connector.
- This is the same access token used by the Square payment gateway β you can reuse it.
- Used to look up a customer by email in your Square account.
C3Magento 2Product / item search Β· Account & record lookup Β· API docs βSearch products, or look up one by SKU (Magento 2 REST).
| Field in Temira | What to enter |
|---|
| Store REST base | https://yourstore.com/rest/V1 |
| Integration access token secret | integration token |
1 Β· Get your credentials β your Magento 2 Admin
- Sign in to your Magento 2 Admin.
- Go to System β Extensions β Integrations.
- Click Add New Integration, name it “Temira”, and under API grant access to Catalog / Products.
- Save, then click Activate. Magento shows an Access Token β copy it.
- Your Store REST base is your store URL followed by
/rest/V1 (e.g. https://yourstore.com/rest/V1).
2 Β· Connect it in Temira
- Open the Actions & catalog page (β‘) from the left menu.
- In the Connected systems card, click + Connect a system.
- Give it a Name, then in the Type dropdown pick Magento 2 (under “Commerce & inventory”).
- Fill in the fields shown (see the table).
- Click βΆ Test connection, then Save connector.
- Paste the store REST base and the Integration access token.
Booking & scheduling
C4CalendlyAccount & record lookup Β· API docs β"When is my appointment?" β look up a visitor's scheduled events.
| Field in Temira | What to enter |
|---|
| Personal access token secret | your Calendly token |
| Organization URI From Calendly β Integrations β API | https://api.calendly.com/organizations/XXXX |
1 Β· Get your credentials β calendly.com
- Sign in to Calendly and open Integrations & apps, then API & webhooks.
- Under Personal access tokens, click Generate new token, name it, and copy the token.
- On the same API page, copy your Organization URI (a link like
https://api.calendly.com/organizations/XXXX).
2 Β· Connect it in Temira
- Open the Actions & catalog page (β‘) from the left menu.
- In the Connected systems card, click + Connect a system.
- Give it a Name, then in the Type dropdown pick Calendly (under “Booking & scheduling”).
- Fill in the fields shown (see the table).
- Click βΆ Test connection, then Save connector.
- Temira uses this to answer “when is my appointment?” by looking up a visitor's scheduled events by email.
C5Acuity SchedulingAccount & record lookup Β· API docs βLook up a client's appointments by email.
| Field in Temira | What to enter |
|---|
| User ID | your Acuity user id |
| API key secret | your API key |
1 Β· Get your credentials β Acuity Scheduling
- Sign in to Acuity Scheduling.
- Go to Integrations (in Settings) and scroll to the API section.
- Copy your User ID and your API Key shown there.
2 Β· Connect it in Temira
- Open the Actions & catalog page (β‘) from the left menu.
- In the Connected systems card, click + Connect a system.
- Give it a Name, then in the Type dropdown pick Acuity Scheduling (under “Booking & scheduling”).
- Fill in the fields shown (see the table).
- Click βΆ Test connection, then Save connector.
- Temira looks up a client's appointments by email.
C6Cal.comAccount & record lookup Β· API docs βLook up bookings by the attendee's email.
| Field in Temira | What to enter |
|---|
| API key secret | cal_live_β¦ |
1 Β· Get your credentials β cal.com
- Sign in to Cal.com.
- Go to Settings β Developer β API keys.
- Click Add, then copy the key (starts with
cal_live_).
2 Β· Connect it in Temira
- Open the Actions & catalog page (β‘) from the left menu.
- In the Connected systems card, click + Connect a system.
- Give it a Name, then in the Type dropdown pick Cal.com (under “Booking & scheduling”).
- Fill in the fields shown (see the table).
- Click βΆ Test connection, then Save connector.
- Temira looks up bookings by the attendee's email.
CRM & customers
C7HubSpotAccount & record lookup Β· API docs βLook up a contact (and their stage / owner) by email.
| Field in Temira | What to enter |
|---|
| Private app token secret | pat-β¦ |
1 Β· Get your credentials β app.hubspot.com
- Sign in to HubSpot.
- Click the Settings gear, then in the left menu go to Integrations β Private Apps.
- Click Create a private app, name it “Temira”.
- On the Scopes tab, tick crm.objects.contacts.read.
- Click Create app, confirm, then copy the Access token (starts with
pat-).
2 Β· Connect it in Temira
- Open the Actions & catalog page (β‘) from the left menu.
- In the Connected systems card, click + Connect a system.
- Give it a Name, then in the Type dropdown pick HubSpot (under “CRM & customers”).
- Fill in the fields shown (see the table).
- Click βΆ Test connection, then Save connector.
- Temira looks up a contact (and their lifecycle stage / owner) by email.
C8PipedriveAccount & record lookup Β· API docs βSearch people/organizations in your pipeline.
| Field in Temira | What to enter |
|---|
| Company API URL | https://yourco.pipedrive.com/api/v1 |
| API token secret | your api token |
1 Β· Get your credentials β your Pipedrive account
- Sign in to Pipedrive.
- Click your profile picture (top-right) β Personal preferences β API.
- Copy your personal API token.
- Your Company API URL is your Pipedrive web address with
/api/v1, e.g. https://yourco.pipedrive.com/api/v1.
2 Β· Connect it in Temira
- Open the Actions & catalog page (β‘) from the left menu.
- In the Connected systems card, click + Connect a system.
- Give it a Name, then in the Type dropdown pick Pipedrive (under “CRM & customers”).
- Fill in the fields shown (see the table).
- Click βΆ Test connection, then Save connector.
- Temira searches people/organizations in your pipeline by name or email.
C9Stripe (customer / subscription)Account & record lookup Β· API docs β"Is my subscription active?" β look up a customer by email.
| Field in Temira | What to enter |
|---|
| Secret key secret | rk_live_β¦ (a restricted read key is best) |
1 Β· Get your credentials β dashboard.stripe.com
- Sign in to Stripe, then open Developers β API keys.
- Click Create restricted key, and give it Read access to Customers (leave everything else None).
- Copy the key (starts with
rk_live_).
2 Β· Connect it in Temira
- Open the Actions & catalog page (β‘) from the left menu.
- In the Connected systems card, click + Connect a system.
- Give it a Name, then in the Type dropdown pick Stripe (customer / subscription) (under “CRM & customers”).
- Fill in the fields shown (see the table).
- Click βΆ Test connection, then Save connector.
- A read-only restricted key (
rk_live_) is safest β Temira only needs to look customers up. - Used to answer “is my subscription active?” by email.
C10Salesforce Advanced Β· OAuthAccount & record lookup Β· API docs βRun a SOQL lookup β find a Contact/Account by email.
| Field in Temira | What to enter |
|---|
| My Domain URL | https://yourco.my.salesforce.com |
| Consumer key | connected-app consumer key |
| Consumer secret secret | connected-app secret |
| Refresh token secret | your OAuth refresh token |
1 Β· Get your credentials β your Salesforce org
- In Salesforce Setup, search App Manager β New Connected App.
- Enable OAuth Settings, add a callback URL, and select the scopes api and refresh_token, offline_access. Save.
- Open the app β copy the Consumer Key and Consumer Secret.
- Do a one-time OAuth authorization (using the callback URL) to obtain a Refresh Token β your developer or an OAuth tool can produce this in a few minutes.
- Your My Domain URL is your org address, e.g.
https://yourco.my.salesforce.com.
2 Β· Connect it in Temira
- Open the Actions & catalog page (β‘) from the left menu.
- In the Connected systems card, click + Connect a system.
- Give it a Name, then in the Type dropdown pick Salesforce (under “CRM & customers”).
- Fill in the fields shown (see the table).
- Click βΆ Test connection, then Save connector.
- This is an advanced connector: it needs a Consumer key, Consumer secret and a Refresh token from a one-time OAuth step.
- Once connected, Temira runs a read-only SOQL lookup to find a Contact/Account by email.
C11Zoho CRM Advanced Β· OAuthAccount & record lookup Β· API docs βLook up a contact/lead by email in Zoho CRM.
| Field in Temira | What to enter |
|---|
| API base (data centre) Use .eu / .in / .com.au for your Zoho region | https://www.zohoapis.com/crm/v3 |
| Token endpoint Match your region (accounts.zoho.eu, β¦) | https://accounts.zoho.com/oauth/v2/token |
| Client ID | 1000.XXXX |
| Client secret secret | your client secret |
| Refresh token secret | 1000.xxxx.yyyy |
1 Β· Get your credentials β Zoho API Console (api-console.zoho.com)
- Go to api-console.zoho.com and create a Self Client (or Server-based) application.
- Copy the Client ID (
1000.XXXX) and Client Secret. - Generate a grant code with the scope ZohoCRM.modules.contacts.READ, then exchange it for a Refresh Token (a one-time OAuth step).
- Note your region's API base (
zohoapis.com, .eu, .in, .com.au) and matching token endpoint (accounts.zoho.com/oauth/v2/token, or your region's).
2 Β· Connect it in Temira
- Open the Actions & catalog page (β‘) from the left menu.
- In the Connected systems card, click + Connect a system.
- Give it a Name, then in the Type dropdown pick Zoho CRM (under “CRM & customers”).
- Fill in the fields shown (see the table).
- Click βΆ Test connection, then Save connector.
- An advanced connector (Client ID, Client secret, Refresh token). Use the API base and token endpoint for YOUR Zoho region.
- Temira looks up a contact/lead by email in Zoho CRM.
C12IntercomAccount & record lookup Β· API docs βLook up a contact by email in Intercom.
| Field in Temira | What to enter |
|---|
| Access token secret | your Intercom token |
1 Β· Get your credentials β app.intercom.com
- Sign in to Intercom, open Settings β Integrations β Developer Hub.
- Create a new app (or open one), open Authentication, and copy the Access token.
2 Β· Connect it in Temira
- Open the Actions & catalog page (β‘) from the left menu.
- In the Connected systems card, click + Connect a system.
- Give it a Name, then in the Type dropdown pick Intercom (under “CRM & customers”).
- Fill in the fields shown (see the table).
- Click βΆ Test connection, then Save connector.
- Temira looks up a contact by email in Intercom.
C13ActiveCampaignAccount & record lookup Β· API docs βLook up a contact by email.
| Field in Temira | What to enter |
|---|
| API URL | https://youraccount.api-us1.com/api/3 |
| API key secret | your API key |
1 Β· Get your credentials β your ActiveCampaign account
- Sign in to ActiveCampaign.
- Go to Settings (gear) β Developer.
- Copy your API URL (like
https://youraccount.api-us1.com) and your API Key.
2 Β· Connect it in Temira
- Open the Actions & catalog page (β‘) from the left menu.
- In the Connected systems card, click + Connect a system.
- Give it a Name, then in the Type dropdown pick ActiveCampaign (under “CRM & customers”).
- Fill in the fields shown (see the table).
- Click βΆ Test connection, then Save connector.
- Paste the API URL with
/api/3 on the end, and the API key. - Temira looks up a contact by email.
C14Brevo (Sendinblue)Account & record lookup Β· API docs βLook up a contact by email in Brevo.
| Field in Temira | What to enter |
|---|
| API key secret | xkeysib-β¦ |
1 Β· Get your credentials β app.brevo.com
- Sign in to Brevo (formerly Sendinblue).
- Click your account name (top-right) β SMTP & API β API Keys tab.
- Click Generate a new API key, name it, and copy it (starts with
xkeysib-).
2 Β· Connect it in Temira
- Open the Actions & catalog page (β‘) from the left menu.
- In the Connected systems card, click + Connect a system.
- Give it a Name, then in the Type dropdown pick Brevo (Sendinblue) (under “CRM & customers”).
- Fill in the fields shown (see the table).
- Click βΆ Test connection, then Save connector.
- Temira looks up a contact by email in Brevo.
ERP & finance
C15ERPNext / FrappeAccount & record lookup Β· API docs βLook up any document (invoice, order, stockβ¦) by name.
| Field in Temira | What to enter |
|---|
| Your ERPNext URL | https://yourco.erpnext.com |
| api_key:api_secret secret Paste your API key and secret separated by a colon | key:secret |
| Doctype to read | Sales Invoice |
1 Β· Get your credentials β your ERPNext / Frappe site
- Sign in to ERPNext as an administrator (or a dedicated API user).
- Open that user's profile: Settings β My Settings, scroll to API Access.
- Click Generate Keys β ERPNext shows an API Key and an API Secret.
- Combine them as
API_KEY:API_SECRET (with a colon between) for the api_key:api_secret field. - Set Doctype to read to the record type you want, e.g.
Sales Invoice or Customer.
2 Β· Connect it in Temira
- Open the Actions & catalog page (β‘) from the left menu.
- In the Connected systems card, click + Connect a system.
- Give it a Name, then in the Type dropdown pick ERPNext / Frappe (under “ERP & finance”).
- Fill in the fields shown (see the table).
- Click βΆ Test connection, then Save connector.
- Your ERPNext URL is your site address, e.g.
https://yourco.erpnext.com. - Temira looks up any document (invoice, order, stockβ¦) by name.
C16OdooAccount & record lookup Β· API docs βLook up a partner/customer by email (Odoo JSON-RPC over a session).
| Field in Temira | What to enter |
|---|
| Your Odoo URL | https://yourco.odoo.com |
| Database name | yourco |
| Login (email) | bot@yourco.com |
| Password / API key secret | password or API key |
| Model to read | res.partner |
1 Β· Get your credentials β your Odoo instance
- Create (or reuse) a dedicated Odoo user for the bot, e.g.
bot@yourco.com. - As that user, open Preferences β Account Security β New API Key to generate an API key (recommended), or use the user's password.
- Find your Database name (shown on the login screen or in Settings).
- Set Model to read to the Odoo model, e.g.
res.partner for customers.
2 Β· Connect it in Temira
- Open the Actions & catalog page (β‘) from the left menu.
- In the Connected systems card, click + Connect a system.
- Give it a Name, then in the Type dropdown pick Odoo (under “ERP & finance”).
- Fill in the fields shown (see the table).
- Click βΆ Test connection, then Save connector.
- Temira signs in like that user (over a session) and looks up a partner/customer by email.
- Your Odoo URL is e.g.
https://yourco.odoo.com.
C17QuickBooks Online Advanced Β· OAuthAccount & record lookup Β· API docs βLook up a customer by email (QuickBooks Online).
| Field in Temira | What to enter |
|---|
| Company (realm) ID | your company id |
| Client ID | app client id |
| Client secret secret | app client secret |
| Refresh token secret | your refresh token |
1 Β· Get your credentials β developer.intuit.com
- Go to developer.intuit.com and open your app under My Apps (or create one).
- From Keys & OAuth, copy the Client ID and Client Secret (Production).
- Find your Company (Realm) ID β shown in your QuickBooks company settings or the OAuth Playground.
- Use Intuit's OAuth Playground (or your developer) to authorize com.intuit.quickbooks.accounting and obtain a Refresh Token.
2 Β· Connect it in Temira
- Open the Actions & catalog page (β‘) from the left menu.
- In the Connected systems card, click + Connect a system.
- Give it a Name, then in the Type dropdown pick QuickBooks Online (under “ERP & finance”).
- Fill in the fields shown (see the table).
- Click βΆ Test connection, then Save connector.
- An advanced connector (Realm ID, Client ID, Client secret, Refresh token via a one-time OAuth step).
- Temira looks up a customer by email in QuickBooks Online.
C18Xero Advanced Β· OAuthAccount & record lookup Β· API docs βLook up a contact by email in Xero.
| Field in Temira | What to enter |
|---|
| Xero tenant ID | your org's tenant id |
| Client ID | app client id |
| Client secret secret | app client secret |
| Refresh token secret | your refresh token |
1 Β· Get your credentials β developer.xero.com
- Go to developer.xero.com β My Apps and create/open an app.
- Copy the Client ID and generate a Client Secret.
- Authorize the app with the accounting.contacts.read and offline_access scopes to obtain a Refresh Token (one-time OAuth step).
- Get your organization's Xero tenant ID (returned by the connections endpoint during authorization).
2 Β· Connect it in Temira
- Open the Actions & catalog page (β‘) from the left menu.
- In the Connected systems card, click + Connect a system.
- Give it a Name, then in the Type dropdown pick Xero (under “ERP & finance”).
- Fill in the fields shown (see the table).
- Click βΆ Test connection, then Save connector.
- An advanced connector (Tenant ID, Client ID, Client secret, Refresh token).
- Temira looks up a contact by email in Xero.
C19Sage Accounting (Business Cloud) Advanced Β· OAuthAccount & record lookup Β· API docs βLook up a contact/customer (Sage Business Cloud Accounting). Sage 50 desktop connects through Sage's cloud sync.
| Field in Temira | What to enter |
|---|
| Client ID | app client id |
| Client secret secret | app client secret |
| Refresh token secret | your refresh token |
1 Β· Get your credentials β developer.sage.com
- Register an app at developer.sage.com for Sage Accounting (Business Cloud).
- Copy the Client ID and Client Secret.
- Authorize the app to obtain a Refresh Token (one-time OAuth step).
2 Β· Connect it in Temira
- Open the Actions & catalog page (β‘) from the left menu.
- In the Connected systems card, click + Connect a system.
- Give it a Name, then in the Type dropdown pick Sage Accounting (Business Cloud) (under “ERP & finance”).
- Fill in the fields shown (see the table).
- Click βΆ Test connection, then Save connector.
- An advanced connector (Client ID, Client secret, Refresh token).
- Sage 50 desktop connects through Sage's cloud sync β this preset targets Sage Business Cloud Accounting.
- Temira looks up a contact/customer by search term.
C20Zoho Books Advanced Β· OAuthAccount & record lookup Β· API docs βLook up a customer/contact by email in Zoho Books.
| Field in Temira | What to enter |
|---|
| API base (region) | https://www.zohoapis.com/books/v3 |
| Token endpoint | https://accounts.zoho.com/oauth/v2/token |
| Organization ID | your Zoho Books org id |
| Client ID | 1000.XXXX |
| Client secret secret | client secret |
| Refresh token secret | 1000.xxx.yyy |
1 Β· Get your credentials β Zoho API Console
- Create a Self Client at api-console.zoho.com; copy the Client ID and Client Secret.
- Authorize the scope ZohoBooks.contacts.READ and obtain a Refresh Token (one-time OAuth step).
- Find your Organization ID in Zoho Books β Settings β Organizations.
- Use your region's API base (
zohoapis.com/books/v3 or .eu/.in) and token endpoint.
2 Β· Connect it in Temira
- Open the Actions & catalog page (β‘) from the left menu.
- In the Connected systems card, click + Connect a system.
- Give it a Name, then in the Type dropdown pick Zoho Books (under “ERP & finance”).
- Fill in the fields shown (see the table).
- Click βΆ Test connection, then Save connector.
- An advanced connector (Org ID, Client ID/secret, Refresh token) β match your Zoho region.
- Temira looks up a customer/contact by email in Zoho Books.
Support & helpdesk
C21ZendeskAccount & record lookup Β· API docs β"What's the status of my ticket?" β search your tickets.
| Field in Temira | What to enter |
|---|
| Your Zendesk URL | https://yourco.zendesk.com |
| Agent email + /token | agent@yourco.com/token |
| API token secret | your API token |
1 Β· Get your credentials β your Zendesk
- In Zendesk, open the Admin Center β Apps and integrations β APIs β Zendesk API.
- Turn on Token access, click Add API token, and copy the token (shown once).
- For the Agent email + /token field, enter your agent email followed by
/token (e.g. agent@yourco.com/token).
2 Β· Connect it in Temira
- Open the Actions & catalog page (β‘) from the left menu.
- In the Connected systems card, click + Connect a system.
- Give it a Name, then in the Type dropdown pick Zendesk (under “Support & helpdesk”).
- Fill in the fields shown (see the table).
- Click βΆ Test connection, then Save connector.
- Your Zendesk URL is e.g.
https://yourco.zendesk.com. - Temira answers “what's the status of my ticket?” by searching your tickets.
C22FreshdeskAccount & record lookup Β· API docs βLook up a requester's tickets by email.
| Field in Temira | What to enter |
|---|
| Your Freshdesk URL | https://yourco.freshdesk.com |
| API key secret | your API key |
1 Β· Get your credentials β your Freshdesk
- Sign in to Freshdesk.
- Click your profile picture (top-right) β Profile settings.
- On the right, copy Your API Key.
2 Β· Connect it in Temira
- Open the Actions & catalog page (β‘) from the left menu.
- In the Connected systems card, click + Connect a system.
- Give it a Name, then in the Type dropdown pick Freshdesk (under “Support & helpdesk”).
- Fill in the fields shown (see the table).
- Click βΆ Test connection, then Save connector.
- Your Freshdesk URL is e.g.
https://yourco.freshdesk.com. The API key goes in the “API key” field (the password is handled for you). - Temira looks up a requester's tickets by email.
C23Zoho Desk Advanced Β· OAuthAccount & record lookup Β· API docs βLook up a contact by email in Zoho Desk.
| Field in Temira | What to enter |
|---|
| API base (region) | https://desk.zoho.com/api/v1 |
| Token endpoint | https://accounts.zoho.com/oauth/v2/token |
| Org ID | your Zoho Desk orgId |
| Client ID | 1000.XXXX |
| Client secret secret | client secret |
| Refresh token secret | 1000.xxx.yyy |
1 Β· Get your credentials β Zoho API Console
- Create a Self Client at api-console.zoho.com; copy the Client ID and Client Secret.
- Authorize the scope Desk.contacts.READ and obtain a Refresh Token (one-time OAuth step).
- Find your Org ID in Zoho Desk β Setup β Developer Space / General.
- Use your region's API base and token endpoint.
2 Β· Connect it in Temira
- Open the Actions & catalog page (β‘) from the left menu.
- In the Connected systems card, click + Connect a system.
- Give it a Name, then in the Type dropdown pick Zoho Desk (under “Support & helpdesk”).
- Fill in the fields shown (see the table).
- Click βΆ Test connection, then Save connector.
- An advanced connector (Org ID, Client ID/secret, Refresh token) β match your Zoho region.
- Temira looks up a contact by email in Zoho Desk.
C24GorgiasAccount & record lookup Β· API docs βLook up a customer's tickets by email.
| Field in Temira | What to enter |
|---|
| Your Gorgias API base | https://yourco.gorgias.com/api |
| Account email | you@yourco.com |
| API key secret | your API key |
1 Β· Get your credentials β your Gorgias account
- Sign in to Gorgias.
- Go to Settings β REST API (under Integrations / Developers).
- Copy your API key and note your account email.
- Your API base is
https://yourco.gorgias.com/api.
2 Β· Connect it in Temira
- Open the Actions & catalog page (β‘) from the left menu.
- In the Connected systems card, click + Connect a system.
- Give it a Name, then in the Type dropdown pick Gorgias (under “Support & helpdesk”).
- Fill in the fields shown (see the table).
- Click βΆ Test connection, then Save connector.
- Temira looks up a customer's tickets by email.
C25FrontAccount & record lookup Β· API docs βLook up a contact by email in Front.
| Field in Temira | What to enter |
|---|
| API token secret | your Front API token |
1 Β· Get your credentials β app.frontapp.com
- Sign in to Front.
- Open Settings β Developers (or Integrations) β API tokens.
- Create a token with contacts access and copy it.
2 Β· Connect it in Temira
- Open the Actions & catalog page (β‘) from the left menu.
- In the Connected systems card, click + Connect a system.
- Give it a Name, then in the Type dropdown pick Front (under “Support & helpdesk”).
- Fill in the fields shown (see the table).
- Click βΆ Test connection, then Save connector.
- Temira looks up a contact by email in Front.
Payments & transactions
C26Paystack (customers)Account & record lookup Β· API docs β"Is my payment confirmed?" β look up a customer by email/code in Paystack.
| Field in Temira | What to enter |
|---|
| Secret key secret | sk_live_β¦ (read-only if possible) |
1 Β· Get your credentials β dashboard.paystack.com
- Sign in to Paystack β Settings β API Keys & Webhooks.
- Copy your Secret Key (
sk_live_β¦).
2 Β· Connect it in Temira
- Open the Actions & catalog page (β‘) from the left menu.
- In the Connected systems card, click + Connect a system.
- Give it a Name, then in the Type dropdown pick Paystack (customers) (under “Payments & transactions”).
- Fill in the fields shown (see the table).
- Click βΆ Test connection, then Save connector.
- This is the same secret key as the Paystack payment gateway β you can reuse it.
- Temira answers “is my payment confirmed?” by looking up a customer by email or code.
C27Flutterwave (transactions)Account & record lookup Β· API docs βLook up a customer's transactions by email.
| Field in Temira | What to enter |
|---|
| Secret key secret | FLWSECK-β¦ |
1 Β· Get your credentials β dashboard.flutterwave.com
- Sign in to Flutterwave β Settings β API.
- Copy your Secret Key (
FLWSECK-β¦).
2 Β· Connect it in Temira
- Open the Actions & catalog page (β‘) from the left menu.
- In the Connected systems card, click + Connect a system.
- Give it a Name, then in the Type dropdown pick Flutterwave (transactions) (under “Payments & transactions”).
- Fill in the fields shown (see the table).
- Click βΆ Test connection, then Save connector.
- Same secret key as the Flutterwave payment gateway β reuse it.
- Temira looks up a customer's transactions by email.
Data & spreadsheets
C28AirtableAccount & record lookup Β· API docs βLook up any record β orders, bookings, inventory β in an Airtable base.
| Field in Temira | What to enter |
|---|
| Base + table URL | https://api.airtable.com/v0/appXXXX/Orders |
| Personal access token secret | pat⦠|
| Field to match on | Email |
1 Β· Get your credentials β airtable.com
- Sign in to Airtable and open airtable.com/create/tokens (Account β Developer β Personal access tokens).
- Click Create token, add the scope data.records:read, and add access to the base you'll use. Copy the token (starts with
pat). - Build the Base + table URL as
https://api.airtable.com/v0/BASE_ID/TABLE_NAME β the BASE_ID (starts with appβ¦) is shown in that base's API docs (airtable.com/developers). - Set Field to match on to the column Temira should search, e.g.
Email.
2 Β· Connect it in Temira
- Open the Actions & catalog page (β‘) from the left menu.
- In the Connected systems card, click + Connect a system.
- Give it a Name, then in the Type dropdown pick Airtable (under “Data & spreadsheets”).
- Fill in the fields shown (see the table).
- Click βΆ Test connection, then Save connector.
- Temira looks up any record β orders, bookings, inventory β in your Airtable base.
C29NotionAccount & record lookup Β· API docs βLook up a page/row in a Notion database.
| Field in Temira | What to enter |
|---|
| Integration token secret | secret_β¦ / ntn_β¦ |
| Database ID | the 32-char database id |
| Property to match | Email |
1 Β· Get your credentials β notion.so
- Go to notion.so/my-integrations β New integration. Name it “Temira”, select your workspace, and copy the Internal Integration Token (starts with
secret_ or ntn_). - Open the Notion database you want, click β’β’β’ β Connections β add your new integration (so it can read the database).
- Get the Database ID: it's the 32-character code in the database's URL.
- Set Property to match to the column to search, e.g.
Email.
2 Β· Connect it in Temira
- Open the Actions & catalog page (β‘) from the left menu.
- In the Connected systems card, click + Connect a system.
- Give it a Name, then in the Type dropdown pick Notion (under “Data & spreadsheets”).
- Fill in the fields shown (see the table).
- Click βΆ Test connection, then Save connector.
- Temira looks up a page/row in your Notion database.
C30Google Sheets (shared)Account & record lookup Β· API docs βRead rows from a shared/public sheet (read-only, API key).
| Field in Temira | What to enter |
|---|
| Sheet values URL | https://sheets.googleapis.com/v4/spreadsheets/SHEET_ID/values/Sheet1 |
| API key secret | your Google API key |
1 Β· Get your credentials β Google Cloud Console + your sheet
- In console.cloud.google.com, create/select a project, open APIs & Services β Library, and enable the Google Sheets API.
- Go to Credentials β Create credentials β API key, and copy it.
- Share your sheet as Anyone with the link β Viewer (an API key can only read public/shared sheets).
- Build the Sheet values URL as
https://sheets.googleapis.com/v4/spreadsheets/SHEET_ID/values/Sheet1 (SHEET_ID is in the sheet's own URL).
2 Β· Connect it in Temira
- Open the Actions & catalog page (β‘) from the left menu.
- In the Connected systems card, click + Connect a system.
- Give it a Name, then in the Type dropdown pick Google Sheets (shared) (under “Data & spreadsheets”).
- Fill in the fields shown (see the table).
- Click βΆ Test connection, then Save connector.
- Read-only: Temira reads rows from the shared sheet.
Project & productivity
C31AsanaAccount & record lookup Β· API docs βLook up a user by email in your Asana workspace.
| Field in Temira | What to enter |
|---|
| Personal access token secret | your PAT |
1 Β· Get your credentials β app.asana.com
- Sign in to Asana, open app.asana.com/0/my-apps (Settings β Apps β Developer apps).
- Under Personal access tokens, click Create new token, name it, and copy it.
2 Β· Connect it in Temira
- Open the Actions & catalog page (β‘) from the left menu.
- In the Connected systems card, click + Connect a system.
- Give it a Name, then in the Type dropdown pick Asana (under “Project & productivity”).
- Fill in the fields shown (see the table).
- Click βΆ Test connection, then Save connector.
- Temira looks up a user by email in your Asana workspace.
C32TrelloProduct / item search Β· API docs βSearch your Trello cards.
| Field in Temira | What to enter |
|---|
| API key | your Trello key |
| API token secret | your Trello token |
1 Β· Get your credentials β trello.com
- Sign in to Trello and open trello.com/power-ups/admin to create a Power-Up (or use the legacy trello.com/app-key).
- Copy your API Key.
- Click the Token link (next to the key) to generate a Token, approve it, and copy it.
2 Β· Connect it in Temira
- Open the Actions & catalog page (β‘) from the left menu.
- In the Connected systems card, click + Connect a system.
- Give it a Name, then in the Type dropdown pick Trello (under “Project & productivity”).
- Fill in the fields shown (see the table).
- Click βΆ Test connection, then Save connector.
- Temira searches your Trello cards.
C33ClickUpAccount & record lookup Β· API docs βLook up a task by ID in ClickUp.
| Field in Temira | What to enter |
|---|
| API token secret | pk_β¦ |
1 Β· Get your credentials β app.clickup.com
- Sign in to ClickUp.
- Click your avatar (bottom-left) β Settings β Apps.
- Under API Token, click Generate and copy it (starts with
pk_).
2 Β· Connect it in Temira
- Open the Actions & catalog page (β‘) from the left menu.
- In the Connected systems card, click + Connect a system.
- Give it a Name, then in the Type dropdown pick ClickUp (under “Project & productivity”).
- Fill in the fields shown (see the table).
- Click βΆ Test connection, then Save connector.
- Temira looks up a task by its ID in ClickUp.
Social & media
C34Facebook PageAccount & record lookup Β· API docs βRead your Facebook Page's recent posts (Meta Graph API).
| Field in Temira | What to enter |
|---|
| Page ID | your Facebook Page id |
| Page access token secret | long-lived page token |
1 Β· Get your credentials β developers.facebook.com
- Go to developers.facebook.com and create an app (Business type) if you don't have one.
- Open the Graph API Explorer (Tools), select your app and your Page, and add the pages_read_engagement permission.
- Generate a token, then exchange it for a long-lived Page access token.
- Get your Page ID from your Facebook Page β About (bottom).
2 Β· Connect it in Temira
- Open the Actions & catalog page (β‘) from the left menu.
- In the Connected systems card, click + Connect a system.
- Give it a Name, then in the Type dropdown pick Facebook Page (under “Social & media”).
- Fill in the fields shown (see the table).
- Click βΆ Test connection, then Save connector.
- Temira reads your Page's recent posts so it can answer “what's your latest promo?”
- For replying to DMs/comments, use Temira's Customer channels feature instead β that's a two-way integration.
C35Instagram (Business)Account & record lookup Β· API docs βRead your Instagram Business account's recent media (Meta Graph API).
| Field in Temira | What to enter |
|---|
| Instagram user ID | your IG business account id |
| Access token secret | long-lived token |
1 Β· Get your credentials β developers.facebook.com
- Your Instagram account must be a Business/Creator account linked to a Facebook Page.
- In your Meta app, use the Graph API Explorer to add instagram_basic and generate a long-lived token.
- Get your Instagram user ID (the IG business account id) via the Graph API (from your linked Page).
2 Β· Connect it in Temira
- Open the Actions & catalog page (β‘) from the left menu.
- In the Connected systems card, click + Connect a system.
- Give it a Name, then in the Type dropdown pick Instagram (Business) (under “Social & media”).
- Fill in the fields shown (see the table).
- Click βΆ Test connection, then Save connector.
- Temira reads your Instagram Business account's recent media.
- For DMs, use Temira's Customer channels integration instead.
C36YouTubeProduct / item search Β· Account & record lookup Β· API docs βSearch your channel's videos (YouTube Data API, public data).
| Field in Temira | What to enter |
|---|
| Channel ID | UCxxxx (your channel) |
| API key secret | your Google API key |
1 Β· Get your credentials β Google Cloud Console
- In console.cloud.google.com, enable the YouTube Data API v3 (APIs & Services β Library).
- Go to Credentials β Create credentials β API key, and copy it.
- Get your Channel ID (starts with
UCβ¦) from YouTube β Settings β Advanced settings, or your channel URL.
2 Β· Connect it in Temira
- Open the Actions & catalog page (β‘) from the left menu.
- In the Connected systems card, click + Connect a system.
- Give it a Name, then in the Type dropdown pick YouTube (under “Social & media”).
- Fill in the fields shown (see the table).
- Click βΆ Test connection, then Save connector.
- Temira searches your channel's videos (public data).
C37X (Twitter)Account & record lookup Β· API docs βLook up a user profile by handle (X API v2 β needs a paid API plan).
| Field in Temira | What to enter |
|---|
| Bearer token secret | your X API bearer token |
1 Β· Get your credentials β developer.x.com
- Sign in at developer.x.com and open the Developer Portal.
- In Projects & Apps, open your app β Keys and tokens.
- Copy the Bearer Token.
2 Β· Connect it in Temira
- Open the Actions & catalog page (β‘) from the left menu.
- In the Connected systems card, click + Connect a system.
- Give it a Name, then in the Type dropdown pick X (Twitter) (under “Social & media”).
- Fill in the fields shown (see the table).
- Click βΆ Test connection, then Save connector.
- The X API requires a paid API plan for user lookups.
- Temira looks up a public user profile by handle.
Microsoft & Google
C38Microsoft 365 (Graph) Advanced Β· OAuthAccount & record lookup Β· API docs βRead from Outlook, Bookings, SharePoint, OneDriveβ¦ via Microsoft Graph (app registration + admin consent required).
| Field in Temira | What to enter |
|---|
| Directory (tenant) ID | your Azure AD tenant id |
| Application (client) ID | your app's client id |
| Client secret secret | your client secret value |
| Graph path to read Any Graph URL; {ref} is the visitor's value | /users?$filter=mail eq '{ref}'&$select=displayName,mail,jobTitle |
1 Β· Get your credentials β Azure Portal (portal.azure.com)
- In the Azure Portal, open Azure Active Directory / Entra ID β App registrations β New registration. Name it “Temira”.
- On the app's Overview, copy the Directory (tenant) ID and the Application (client) ID.
- Open Certificates & secrets β New client secret β copy the secret Value (shown once).
- Open API permissions β add the Microsoft Graph Application permissions you need (e.g. User.Read.All) β Grant admin consent.
- Set Graph path to read to the Graph query, e.g.
/users?$filter=mail eq '{ref}'&$select=displayName,mail,jobTitle.
2 Β· Connect it in Temira
- Open the Actions & catalog page (β‘) from the left menu.
- In the Connected systems card, click + Connect a system.
- Give it a Name, then in the Type dropdown pick Microsoft 365 (Graph) (under “Microsoft & Google”).
- Fill in the fields shown (see the table).
- Click βΆ Test connection, then Save connector.
- An advanced connector: needs an Azure app registration, a client secret, and admin consent.
- Reads from Outlook, Bookings, SharePoint, OneDrive⦠via Microsoft Graph.
{ref} is the visitor's value.
C39Google Calendar Advanced Β· OAuthAccount & record lookup Β· API docs β"When is my appointment?" β search a calendar's events.
| Field in Temira | What to enter |
|---|
| Calendar ID 'primary', or a specific calendar's address | primary |
| Client ID | xxxx.apps.googleusercontent.com |
| Client secret secret | your OAuth client secret |
| Refresh token secret | your OAuth refresh token |
1 Β· Get your credentials β Google Cloud Console
- In console.cloud.google.com, create a project and configure the OAuth consent screen.
- Enable the Google Calendar API (APIs & Services β Library).
- Under Credentials, create an OAuth client ID (Web application) β copy the Client ID and Client Secret.
- Do a one-time OAuth authorization with the scope calendar.readonly to obtain a Refresh Token (Google's OAuth Playground is the easiest way).
- Set Calendar ID to
primary (or a specific calendar's address).
2 Β· Connect it in Temira
- Open the Actions & catalog page (β‘) from the left menu.
- In the Connected systems card, click + Connect a system.
- Give it a Name, then in the Type dropdown pick Google Calendar (under “Microsoft & Google”).
- Fill in the fields shown (see the table).
- Click βΆ Test connection, then Save connector.
- An advanced connector (Client ID, Client secret, Refresh token).
- Temira answers “when is my appointment?” by searching a calendar's events.
C40Google Contacts Advanced Β· OAuthAccount & record lookup Β· API docs βLook up a customer in your Google Contacts by name/email/phone.
| Field in Temira | What to enter |
|---|
| Client ID | xxxx.apps.googleusercontent.com |
| Client secret secret | your OAuth client secret |
| Refresh token secret | your OAuth refresh token |
1 Β· Get your credentials β Google Cloud Console
- In console.cloud.google.com, set up the OAuth consent screen and enable the People API.
- Create an OAuth client ID (Web) β copy Client ID and Client Secret.
- Authorize the scope contacts.readonly once to obtain a Refresh Token (OAuth Playground).
2 Β· Connect it in Temira
- Open the Actions & catalog page (β‘) from the left menu.
- In the Connected systems card, click + Connect a system.
- Give it a Name, then in the Type dropdown pick Google Contacts (under “Microsoft & Google”).
- Fill in the fields shown (see the table).
- Click βΆ Test connection, then Save connector.
- An advanced connector (Client ID, Client secret, Refresh token).
- Temira looks up a customer in your Google Contacts by name/email/phone.
C41Google Drive Advanced Β· OAuthAccount & record lookup Β· API docs βFind a document/file by name in Google Drive.
| Field in Temira | What to enter |
|---|
| Client ID | xxxx.apps.googleusercontent.com |
| Client secret secret | your OAuth client secret |
| Refresh token secret | your OAuth refresh token |
1 Β· Get your credentials β Google Cloud Console
- In console.cloud.google.com, set up the OAuth consent screen and enable the Google Drive API.
- Create an OAuth client ID (Web) β copy Client ID and Client Secret.
- Authorize the scope drive.readonly once to obtain a Refresh Token (OAuth Playground).
2 Β· Connect it in Temira
- Open the Actions & catalog page (β‘) from the left menu.
- In the Connected systems card, click + Connect a system.
- Give it a Name, then in the Type dropdown pick Google Drive (under “Microsoft & Google”).
- Fill in the fields shown (see the table).
- Click βΆ Test connection, then Save connector.
- An advanced connector (Client ID, Client secret, Refresh token).
- Temira finds a document/file by name in Google Drive.
Voice, vision & tours in the chat
What a visitor experiences in the widget goes well beyond typing:
- Voice mode β hands-free, two ways. Turn-based voice uses the browser's speech
recognition and either the browser voice or your premium TTS; optional
wake-word listening lets a visitor just start talking. Realtime voice is a full-duplex
WebRTC speech-to-speech conversation with barge-in. Open straight into voice with
data-voice="1".
- Vision β visitors can attach, drag-drop or paste an image (a photo of a
product, a receipt, a screenshot) and the assistant reads it. It also accepts PDFs and text
files inline.
- Screenshot tours & guided walkthroughs β the assistant can show, not just tell:
step-by-step flows with a progress bar, a screenshot gallery with lightbox zoom, and β
inside your own app with
data-copilot="1" β live spotlighting of the exact button
to click.
- Answer enhancers β Go deeper re-answers exhaustively; Cross-checked runs
a multi-agent βcouncilβ (planner β researchers β composer β verifier) for high-stakes
questions; follow-up chips keep the conversation moving.
- Feedback β a thumbs up/down on any answer, and a one-time satisfaction rating after
the conversation warms up. Both feed your Learning & Intelligence
tools.
- Memory & install β the assistant keeps a rolling case file for returning visitors,
and the chat page is an installable PWA with an offline service worker.
Answer on every channel
Your assistant isn't only the widget on your website. From Portal β Channels it can answer
your customers on four messaging apps too β WhatsApp, Instagram DMs,
Facebook Messenger and Telegram β using the same knowledge base, brand voice and
actions it uses on your site.
Which channels your plan includes: Telegram is on every plan, including Free;
WhatsApp joins from Starter; Instagram and Messenger from
Growth. Channels outside your plan appear as locked cards with an upgrade button β and
anything you connected earlier keeps working and stays editable whatever your plan does later:
a downgrade never disconnects a channel you already set up. (Trials run with every Growth
feature, channels included.)
Pick a mode per channel
- AI + human recommended β the assistant handles everyday
questions and hands off to a real person when the customer asks for one, sounds frustrated, or
asks something it isn't confident about.
- AI only β the assistant answers every message itself.
- Human only β the assistant doesn't reply; your team is simply notified so a person
can pick it up.
Where you answer a handoff
When a conversation comes to a human, you reply from the same Live chat page
you already use for website chats β or from your phone via the Telegram / WhatsApp relay β and
your reply goes straight back to the customer inside their own app. Live takeover works exactly
as it does on the website.
What it costs
Answering customers is free. Instagram and Messenger have no per-message fee, and WhatsApp
replies are free within the 24-hour customer-service window β i.e. whenever you're replying to
someone who messaged you first, which covers everyday support and sales. The only paid case is
optional WhatsApp marketing broadcasts, which you send only if you choose to.
To message a customer outside the 24-hour window (order updates, reminders), WhatsApp
requires a pre-approved message template. Create and track templates from
Portal β Channels β WhatsApp β Message templates β Temira submits them to Meta for
approval and shows each template's status.
Connecting a channel
- Telegram β works instantly: create a bot with @BotFather, paste the token, and it's
live, no approval needed.
- WhatsApp, Instagram & Messenger β connect through Meta with one-click
Connect with Meta (Embedded Signup) where the platform operator has set up the Meta
app: it detects your WhatsApp Business Account and phone number, wires up webhooks and
registers the number automatically β no IDs to copy. Or connect by pasting your own access
token. Because these run on Meta's platform, they need Meta's one-time business
verification / app review before they go live β a quick setup you do once.
- Connecting manually? Two optional fields make the connection stronger: your
WhatsApp Business Account ID (WABA) unlocks the message-template manager above, and
your Meta app's App secret lets Temira verify that every incoming webhook genuinely
comes from Meta (signature checking) β recommended.
One inbox, every channel. However a customer reaches you β
website, WhatsApp, Instagram, Messenger or Telegram β the conversation lands in the same portal,
and your
team and takeover tools work the same way across all of them.
Getting found & sharing
An assistant that answers 24/7 only helps where customers can actually reach it.
The portal's Grow section puts your link everywhere that matters, one page per job:
Your link (the short link, QR and reach score), Link hub (your link-in-bio
page), Get the word out (every placement with ready-to-paste wording and a tick when
it's done) and For your website (the embed snippet).
Thirteen places are listed, and twelve of them need no approval from anyone β you can
do them today, in an afternoon. The thirteenth is answering natively inside WhatsApp,
Instagram and Messenger, which needs Meta's one-time review (see
Answer on every channel). It's listed honestly rather than hidden.
Your link
- Short link β
temira.net/yourname, short enough to say out loud.
- Every link is tagged β the copy on each surface carries its own
?src=
tag, so your dashboard can tell you which placement actually brings people in. Paste them as
they are.
- QR code β download and put it on anything physical.
- Preview card β paste your link into WhatsApp, LinkedIn or X and it appears as a
branded card with your name, tagline and colour instead of a blank rectangle.
- Copy in ten languages β English, Nigerian Pidgin, Yoruba, Igbo, Hausa, Kiswahili,
French, Portuguese, Arabic and Spanish.
The thirteen places
Grouped as Owned (your website, Google Business Profile, email signature, invoices and
receipts), WhatsApp (greeting message, away message, profile website field),
Instagram (bio link, instant reply), Facebook (Page button), Offline
(printed QR) and Native (Telegram, which connects instantly β and the Meta channels).
The away message is the fastest win. It takes two minutes and
covers every night from then on: someone messages you at 11pm, your away message points them at
the assistant, and they get a real answer instead of waiting until morning.
Link hub β for the one link Instagram, TikTok and WhatsApp let you have
Switch on the hub and your short link opens a page you build, instead of going straight to
chat. Chat always leads and can't be removed β that is the point: every other
link-in-bio page lists links, yours answers the question.
Blocks you can add, in any order: any link (with a thumbnail and a highlight) Β·
WhatsApp, call, text, email and directions (filled in from your settings) Β· a row of social
icons Β· section titles, announcements and banner images Β· a YouTube or Vimeo video that only
loads when it's pressed Β· a product from your catalogue with its price Β· a
capture form that lands in your Inbox Β· your top questions answered from your own
knowledge Β· a live Open now / opens tomorrow at 08:00 from your business hours Β·
an ask box they can type into right there Β· Save our contact, which puts you in
their phone book carrying your assistant's link Β· a countdown Β· a payment link.
Make it yours: eight themes, five button styles, three corner styles, four typefaces,
one-per-row or two-across, your own accent colour and a cover image. Schedule a block to
appear on a date and retire on another, so a promotion publishes and pulls itself down without
you being awake for either.
See what people actually press. Page views, taps, the share of visitors who tapped
something, and a ranking of every block. That is the number that tells you whether your bio
link is working β and it's the one thing link-in-bio tools charge for.
It's rendered on the server, so it loads on a bad connection, inside the Instagram and
WhatsApp in-app browsers, and with JavaScript off. Search engines get proper business
information β name, phone, address, opening hours, socials β so you can appear as a rich
result rather than a blue link.
Put it in your website or app
Share β Put it in your website or app writes the snippet for you and gives you a test
page to try it on before you touch your real site. Five ways to place it:
- Floating button β the classic chat bubble in the corner.
- My own button β no bubble at all. Your existing Help button opens the
assistant. This is the one for an app that already has its own support button:
<script src="β¦/embed.js" data-launcher="none" data-trigger="#help-button" defer></script>
- Inside a panel β renders in a container you choose, for a help drawer or support tab.
- Side drawer and Full screen β opened by your own button.
You can also drive it from your own code β Temira.open(),
Temira.ask("Where is my order?"), Temira.setContext({plan:"pro"}) and
events for open, close and lead. See
Developer API.
Cards worth posting
Your own results as an image you can post β questions answered, how much was covered by your
own knowledge, and answers written without a source: zero β carrying a link anyone can
check. There's a report card (1200Γ630, for a post, an email or your site) and a
Status card (1080Γ1920, for WhatsApp Status or Stories).
They stay hidden until your assistant has actually answered enough questions to have something
worth showing. Sharing β0 questions answeredβ would do you no favours, so the page says so
plainly rather than handing you an empty card.
Print pack
Eight printable assets at real trim sizes with 3 mm bleed β window decal, table tent,
shelf talker, delivery-box sticker, staff badge card, vehicle decal, roll-up banner panel and
business-card back. Each opens a print dialog; choose Save as PDF for a printer or
print it yourself. The delivery-box sticker is the quiet favourite β it arrives in the
customer's home and keeps answering questions long after the sale.
Where your conversations come from
Because every share link is tagged, Portal β Dashboard shows a breakdown of which
placement each conversation came from over the last 30 days. Put the link in five places, see
which two are doing the work.
While you were closed
A Night Shift summary on your dashboard counts what happened outside your opening hours
β questions answered, people who left their details, and answers written without a source β
with a running lifetime total. It is the plainest measure of what the assistant is worth: the
business that was open when you weren't.
Reply on WhatsApp
When someone leaves their details overnight, open Portal β Inbox and tap Reply on
WhatsApp. Your own WhatsApp opens, addressed to that customer, with a draft written from
your knowledge base that you can edit before sending. No approval, no per-message fee, and it
comes from the number they already know.
Public directory
You can list your business on temira.net/discover, a public page of
businesses customers can simply ask a question. It is opt-in and off by default β we
don't list a business publicly without being asked.
Once you're listed, people can search the directory, and you appear on the industry
page and the location page for your business β /discover/in/bakery,
/discover/near/lagos β which are the pages people actually search for. You don't
have to switch the link hub on to be listed.
Your own domain
On request you can point a subdomain you own β chat.yourbrand.com β at your
assistant with a CNAME, so the whole experience sits on your brand.
Languages
The assistant detects the visitor's language and replies in it automatically β spoken answers
included β or you can lock a single language under Appearance. Seventeen
are supported: English, French, Spanish, Portuguese, German, Italian, Dutch, Russian, Turkish,
Hindi, Chinese, Arabic, Swahili, Hausa, Yoruba, Igbo and isiZulu.
Monitor & improve
Your command center
Portal β Dashboard is a live, self-refreshing view of your assistant at work β tiles
count up as new events land, and figures flash as they change.
- KPI tiles β conversations handled, questions answered, leads captured, deflection
rate, satisfaction and more. Click a tile for a plain-English explainer of exactly how it's
computed, and drill through to the underlying records.
- Conversation activity β a 14-day chart you can switch between Questions,
Chats and Leads, with hover detail.
- This month's AI usage β a meter of built-in answers used against your plan's
allowance (the day-by-day, per-engine breakdown lives under AI engine).
- Top questions and Knowledge gaps β what visitors ask most, and what your
content couldn't answer (with a jump straight to teach these).
Every data table across the portal filters, paginates (10β100 rows) and exports the filtered
view to CSV.
Inbox
Portal β Inbox is everything the assistant captured, in five tabs:
- Leads β name, company, contact (email/phone), note and time.
- Tickets β reference, subject, who from, a status pill, and Close / Reopen.
- Bookings β reference, who, service, preferred time, status, Mark done / Reopen.
- Orders β reference (and any store reference), who, items, total, a status
dropdown (new β confirmed β paid β processing β shipped β delivered / cancelled) and a
Payment column: βpaid ββ, Copy pay link, or generate a payment link
(set the total, send the link).
- Ratings β the star rating and comment a visitor left, with the time.
Conversations
Portal β Conversations lists the real ones β anything with at least one message, newest
first. Pick a conversation to read the transcript, tap π§ AI summary for a one-click
recap, or π Delete to erase it permanently (see
Data & security for retention controls).
βOpened the assistant without asking anythingβ
A conversation is created the moment someone opens your assistant β before they type.
Most of those people read the welcome screen and leave, and listing them next to real
transcripts buried the ones that matter. They are counted separately and sit behind one button
at the bottom of the list. Nothing is deleted or hidden from you; it's ordered so the
transcripts come first. That count is worth watching on its own β a lot of opens and few
questions usually means your welcome screen isn't inviting the question.
Answers survive a customer walking away
Someone who closes the tab, locks their phone or switches app while the answer is still
arriving used to leave you a question with no reply beside it. The server now stores the answer
in that situation, so what you read is what they were actually told.
Learning & Intelligence
Two tabs turn everyday conversations into a better assistant.
Learning
- Teach your assistant β every real question your content couldn't answer, listed with
an answer box. Write the answer (or have the AI draft it) and it becomes a pinned,
authoritative answer.
- Answering itself β a 30-day stacked chart of instant (cache/pinned) vs AI-generated
answers, plus a summary of knowledge on file and a live feed of what it has learned.
- What your assistant saved you β conversations it handled end to end without a
human, and (once you enter what one support contact costs you) the money that avoided.
- Your public trust report β a page you can publish at
/t/<your-slug>/trust and link from your own website: answers written from
your published knowledge, times the assistant declined rather than guessed, and answers
written without a source β which is structurally zero, because with nothing relevant
retrieved the AI is never called at all. Counts come from a log written at the moment of
each decision, and the page shows totals only β no question, answer or visitor detail.
It is off until you switch it on, comes with an embeddable badge, and stays silent
about percentages until there are enough questions for one to mean anything.
Intelligence & the Quality Lab
- Self-test β grade the assistant against your own knowledge with an AI judge. Turn on
nightly automatic self-test and show a ββ Self-testedβ trust badge on the widget
when it fully passes.
- Daily digest β an optional email summarising questions, leads and unanswered
questions (needs a verified alert email).
- Weekly knowledge-gaps email β separate from the daily digest: a once-a-week roundup of
the questions your assistant couldn't answer, so filling the gaps becomes a regular habit rather
than a fire drill.
- Groundedness audit β audit the last ten answers for drift, or review every answer a
visitor thumbed down.
- Model arena β type one question and compare every configured model's answer and
latency side by side.
- Improvement queue β unanswered questions clustered by meaning and ranked by volume Γ
failure, so one pinned fix resolves a whole cluster. Each source's
health score feeds in too, so a weak source surfaces here alongside the
very questions it's failing.
- Visitor journeys β AI-maintained case files for returning visitors, so context
carries across sessions.
Answer-quality controls, in one place. Golden answers
(pin a verified answer to trigger phrases β it outranks the AI, edited under
Knowledge), the
answer cache (repeat questions served instantly
at zero AI cost), the
knowledge-gap log (your to-write list) and the
retrieval
tester (see exactly which passages would be used) all work together here.
Live human takeover & your team
When a visitor asks for a person β or you simply want to jump in β a human can take the wheel
and the AI stands down until they leave. Growth+
Live chat
- Join a queued conversation (the badge in your portal lights up), reply, and
End or π Transfer it to a teammate mid-chat.
- π Call the visitor by voice over WebRTC β with a ring state, a live timer and an
automatic recording saved when you hang up. The visitor gets an in-chat accept card, and
their browser tab flashes βπ β¦ is callingβ so the ring lands even if they're reading
another tab. If nobody has answered after 45 seconds the console says so β your typed
messages still reach them either way.
- π« Make ticket mid-chat turns the conversation into a tracked
Service-desk ticket without leaving the room: the customer sees a
note with the ticket reference right in the conversation, the full transcript travels with
the ticket, and you stay in the chat to wrap up properly.
- π Desktop alerts β browser notifications (with a sound fallback) when a visitor
needs a human.
- Ending well β when a chat ends, the visitor sees a warm goodbye in your business's
name (never internal bookkeeping), the AI resumes seamlessly, and they're invited to rate
the human handoff (CSAT).
Answer from your phone
Enable the phone relay to take live chats on the go: connect a Telegram bot
(token from @BotFather + your chat ID) or the WhatsApp Cloud API (access token, phone
number ID, your number and a webhook verify token). Send a test message to confirm it before
you rely on it.
Agent desk
Portal β Agent desk runs your human team alongside the AI, with seats metered by plan:
- Team β add teammates (name, email, skills), set each one π’ Online / π‘ Away / βͺ
Offline, and enable, disable or remove them. The seat meter shows used vs available. Each
teammate can also carry a client-facing alias β the name and title customers see in the
chat (βAda from Supportβ) β so your team shows a consistent front without exposing real names or
internal handles.
- Performance β over 7/30/90 days: chats, average first-reply and resolve times, CSAT,
a quality score, how much each taught, and reopens.
- Training β capture teammates' live answers for review, then Approve & pin
the good ones so the AI learns them.
- Routing β βwhen the topic mentions β¦ send to β¦β skill rules with priorities and a
fallback.
- Leaderboard β an opt-in, quality-weighted points board with medals and badges.
Service desk
Portal β Service desk is the whole support-ticket lifecycle, built natively into
Temira β not a bolt-on you buy separately. It's the only desk where the AI, the channels and
the ticket are one system: nothing gets re-explained, every reply reaches the customer where
they already are, and every resolution makes the assistant a little smarter. It's the support
desk designed to put itself out of business.
How a ticket gets opened
- The AI opens it β when the assistant can't resolve something on the widget or any
channel, its create-ticket action files a ticket automatically.
- One-click from a live chat β during a handoff, hit Make
ticket and the new ticket is pre-filled with the full transcript and the customer's
identity, so the customer never repeats themselves. The customer is told in the chat
that the ticket exists (with its reference), and you stay in the conversation to finish
up.
- From a customer channel β a message on WhatsApp, Instagram, Messenger or Telegram
can become a ticket, tied to that same conversation.
- By hand β open one yourself in the portal.
What every ticket carries
Each ticket gets a public reference (e.g. APE-T1043) and travels a clear lifecycle β
open β pending (you're working it) β waiting (on the customer) β resolved β
closed, and it can be reopened at any time. On the ticket you'll find:
- Assignee β the teammate who owns it.
- Priority & SLA clock β low / normal / high / urgent, each with an elapsed-time
target (urgent 4h, high 8h, normal 24h, low 72h) shown as on-track, due-soon or
overdue.
- Category & tags β for filtering and routing.
- AI one-line summary β the gist at a glance.
- Threaded conversation β customer-visible replies and internal private notes,
side by side.
- CSAT β a 1β5 satisfaction rating captured on resolution.
Replies reach the customer where they started
A public reply is delivered back on the same channel the ticket came in on β WhatsApp,
Telegram, Instagram or Facebook Messenger β or by email if you've configured email. As with
Temira's channels, answering customers on those messaging apps carries
no per-message fee.
Where the AI helps (and where it never oversteps)
- Auto-triage on creation β writes the one-line summary, adds up to four tags and
suggests a priority.
- AI draft reply β grounds a suggested reply in your knowledge
base and the ticket thread for a human to review and send. It never sends on its own
and never invents policy.
- Turns resolutions into knowledge β when you resolve a ticket, Temira condenses the
thread into one suggested knowledge-base answer, filed as pending in the existing
Agent desk β Training review queue. Approve it in one click and it becomes
a permanent answer the bot uses β so the same question is deflected next time and ticket volume
trends down.
Human review is never skipped. KB suggestions from tickets are
never auto-published β a person approves each one, which is exactly what keeps the
assistant grounded and stops it guessing.
CSAT & reopening
On resolve, the customer is invited to rate the ticket 1β5 on their own channel. A bare
1β5 reply is captured as the rating; a real follow-up message after resolution simply
reopens the ticket so nothing falls through the cracks.
What you can see
The desk surfaces open tickets, overdue, average first-response time,
average resolution time, CSAT average, and βtaught the AIβ β how many
knowledge-base drafts came out of tickets. Open ticket load also shows up on the dashboard's
Open work tile.
Beyond the basics, the desk gives agents a Customer history (360Β°) panel β every other
ticket, order, booking and lead tied to the same person, so returning customers never re-explain
themselves β plus Insert from knowledge, AI draft reply and Reply & resolve.
SLA & business hours let you set resolve-by targets per priority and (optionally) count the
clock only during your open hours; tickets auto-assign by topic, a daily reminder
flags anything overdue or going stale, and an Analytics view charts volume, SLA attainment,
category/priority mix, CSAT and how many answers your tickets taught the AI. Your customers can
track and rate their own ticket at /t/<your-workspace>/ticket with just their
reference and email.
Included on every plan. The Service desk is available to all
workspaces at no extra purchase. How many teammates can work it is set by your plan's
agent seats β the same seat model as the
Agent desk.
Your account
Team & access (staff logins & roles)
Give your staff their own logins and scope exactly what each can do. In
Portal β Team & access, invite live agents, support staff, content editors or
analysts β each signs in at the same portal with their own email and password and sees
only what their role allows. It's true role-based access control, enforced on the
server (the menu just hides what a role can't use β the server refuses it either way).
Roles
Pick a ready-made role or hand-pick permissions:
- Administrator β full access (a manager; still not the owner, and can be removed).
- Support lead β conversations, live chat, inbox, service desk, dashboard,
knowledge, intelligence and the team.
- Support agent β conversations, live chat, inbox, service desk and dashboard.
- Content editor β knowledge, appearance, voice, intelligence and dashboard.
- Analyst β the dashboard, read-only.
- Custom β any mix of the 14 permissions (dashboard, conversations, live
chat, inbox, service desk, knowledge, intelligence, appearance, voice, AI engine,
actions/payments/connectors, team, billing, business settings).
How access is protected
- Every request is checked against the signed-in person's role β including
writes, so a staffer can't reach a restricted area by crafting the call. New areas are
owner-only until explicitly opened to a permission.
- Secrets stay hidden β payment, connector and channel keys, and provider API
keys, are stripped from the portal for anyone whose role doesn't manage them.
- No escalation β a manager can't grant a permission they don't hold themselves,
or edit someone with more access than they have.
- Instant revocation β set a teammate to Disabled or remove them and they
lose access to the workspace right away.
The owner is always the owner. The account that created
the workspace keeps full access and can't be removed by staff. Everyone else is a scoped
teammate you manage here.
Plan, billing & usage
Portal β Plan & billing shows your current plan with a usage ring (built-in answers
used this month), your trial / active / free status, days left and renewal date. Start free,
pay a flat monthly fee, and pay yearly to get 12 months for the price of 10. The 14-day
trial gives you Growth-level features with no card, and you can cancel anytime β the workspace
falls back to Free with your data intact.
| | Free | Starter | Growth | Scale | Enterprise |
| Built-in AI answers / mo | 50 | 500 | 2,500 | 10,000 | Unlimited |
| Unlimited with your own key | β | β | β | β | β |
| Pages read per website | 50 | 300 | 1,500 | 5,000 | 10,000 |
| Channels | Telegram | + WhatsApp | + Instagram & Messenger | All | All |
| Automatic site re-read | β | Monthly | Weekly | Daily | Daily |
| Knowledge sources | 25 | 200 | 1,000 | Unlimited | Unlimited |
| Actions, leads inbox & analytics | β | β | β | β | β |
| Voice conversations | β | β | β | β | β |
| Live human takeover | β | β | β | β | β |
| Remove βPowered byβ badge | β | β | β | β | β |
| White-label / own domain | β | β | β | White-label | + own domain |
See Pricing for current prices. When you upgrade, Choose how to
pay: card in USD via Stripe, card / bank / USSD in Naira via Paystack, or a
manual bank transfer (we show the reference and amount). Your payment history is
listed with reference, plan term, amount, gateway, status and date.
Settings & privacy
Portal β Settings holds your business profile and data controls.
- Business profile β name, tagline, βwhat do you do?β, business type, currency,
industry, country, region, and your website / contact / pricing pages. These sharpen the
assistant's answers and pick the right actions for your kind of business.
- Privacy & data β toggle transcript storage, the lead-capture card
and voice conversations, and set a data-retention window in days.
- Contact support β send Temira a message (subject + body) straight from the portal.
Sign-in security & email verification
When you sign up, your workspace is created and you're signed in immediately β no waiting.
We also email a one-time confirmation link to the address you used. Until you click it, a
banner sits at the top of your portal with a Resend link button.
What works before you verify: everything about building and testing your assistant β
knowledge, appearance, AI engine, quotes, tickets, the live widget. What waits for
verification: the two features that email real people or move money β
- Lead-alert emails (the notify email under Actions) β so alerts can't be
aimed at an inbox you don't control.
- Payment gateway keys (Paystack / Stripe under Actions) β so payment links and
receipts are tied to a confirmed owner.
If the link never arrives, check spam, press Resend link (throttled to once a
minute), or ask support to confirm the address for you. When you type any password on Temira
β sign-up, sign-in or a secret key β the π eye icon reveals it so you can check it
before submitting.
Two-factor authentication (2FA)
Under Settings β Account security you can switch on app-based two-factor
authentication. Turn it on, add the account to an authenticator app (Google Authenticator,
Authy or 1Password) by scanning the link or typing the setup key, then enter the 6-digit code
it shows to confirm. From then on, every sign-in asks for the current code β so a leaked
password alone can't get into your workspace. To turn it off, enter a current code (or your
password). Codes are standard TOTP (RFC 6238); the secret never leaves the server after
setup.
Developer API
Everything the portal does is an API underneath, and you can call it programmatically. Send an
Authorization: Bearer <token> header with your portal session token to reach
grounded chat, business actions, the live-agent channel and your analytics. A full reference
lives at /api-docs β always available to the workspace owner, and publishable to your
team from Settings when you're ready. The read-only account-lookup action can also drive
an API you define, so the assistant answers βwhere is my invoice?β from your own live data.
Controlling the assistant from your own page
Loading embed.js puts Temira on window β nothing else
to install.
Temira.open() // open it
Temira.open({ask:"Where is my order?"})
Temira.ask("How do I add a user?") // open and ask
Temira.close() / Temira.toggle()
Temira.isOpen() // true / false
Temira.setContext({plan:"pro", orderId:"A-2291"})
Temira.setContext({audience:"customer"}) // lock the audience β hides the
// Visitor / Customer / Buying picker cards
Temira.on("ready", fn) // ready Β· open Β· close Β· ask Β· lead
Temira.destroy() // remove it entirely
Events also fire on document as temira:open,
temira:lead and so on. Calls made before the script has loaded are queued and
replayed β but only if this queue stub is on the page first. Paste it above your own
scripts; it covers open, ask and setContext:
<script>window.Temira=window.Temira||{q:[],open:function(){this.q.push(["open"].concat([].slice.call(arguments)))},ask:function(){this.q.push(["ask"].concat([].slice.call(arguments)))},setContext:function(){this.q.push(["setContext"].concat([].slice.call(arguments)))}};</script>
And any element with data-temira works with no JavaScript of your own:
<button data-temira>Help</button>
<button data-temira="toggle">Support</button>
<a data-temira data-temira-ask="How do refunds work?">Refunds</a>
Triggers are bound by delegation, so a button your app renders later still works.
A note on setContext: it personalises how the assistant answers β
their plan, their order, their role. It is deliberately not treated as knowledge, so the
grounding guarantee still requires a real source before anything factual is answered, and a
personalised answer is never re-served to a different visitor from the cache.
The reserved key audience is the exception: it steers the UI, locking who
the assistant is talking to (visitor Β· customer Β· buyer,
or your own audience keys) β an in-app Help button is customer-support by definition, so it
shouldn't ask "I am aβ¦". Same effect at load time with
data-audience="customer" on the script tag.
Wiring setContext into your app
Think of it as a sticky note you hand the assistant about the person who is chatting:
"this is Adaeze, an accountant, on the Enterprise plan, in the Lagos branch."
The assistant uses it to speak to them properly β it never treats it as a fact about your
business, and it never shows one user's note to another. Call it once the user is known
(right after login is the natural place). Keys merge: call it again any time to add
or overwrite a key.
// after the user signs in to your app
Temira.setContext({
audience: "customer", // reserved β locks the picker to customer-support
name: "Adaeze", // a first name is plenty
role: "Accountant",
plan: "Enterprise",
branch: "Lagos Office"
});
// later, when something changes
Temira.setContext({ screen: "Register Bank Accounts" });
The rules, all of them:
- Up to 20 keys per context; extra keys are ignored.
- Every value becomes plain text, trimmed to 200 characters; key names to 40.
- Values must be strings, numbers or booleans β nested objects and arrays are
dropped, so flatten first (
orderTotal:"β¦45,000", not
order:{total:β¦}).
- It lasts for the page visit only β set it again after a reload. It is safe to call
before the panel is open (it is delivered when the chat loads) and safe to call before
the script finishes loading if you use the queue stub above.
- It reaches the assistant with the visitor's next question β there is no
round-trip to wait for.
- Never put secrets in it β no passwords, session tokens or card numbers. It is
conversational context for the AI, not a secure or authenticated channel, and it does
not log the user in to anything.
- It cannot be used to feed the assistant answers: facts still come only from your
knowledge base. If you want the assistant to know something, add it under
Knowledge instead.
If you also want the assistant to see which screen the user is on automatically β
including on-screen error messages β add data-copilot="1" to the script tag
instead of hand-feeding a screen key; that is exactly what copilot mode is
for.
Refer & earn
Every workspace has a referral link on the Refer & earn page (share it by
WhatsApp, email or X). A business that signs up through it gets a discount on its first
payment, and you earn account credit each time one of your referrals upgrades to a paid plan.
The page tracks, in real time, how many businesses you've referred, how many converted, and
the credit you've earned β with a full list of referred workspaces and credit events. The
reward amount and signup discount are set by the platform (and shown live wherever they
appear, including your portal and the public signup page).
Privacy, data & security
Each workspace is fully isolated β its own database, files and keys. Transcript storage can
be turned off (counts only), retention is configurable, and any conversation can be erased
permanently from the portal. Provider and gateway keys are stored server-side, shown masked,
and never reach a visitor's browser. Passwords are stored only as salted PBKDF2 hashes
(200,000 iterations) β never in plain text β and you can add app-based two-factor
authentication for an extra step at every sign-in.
When your assistant fetches something on your behalf β a website you asked it to read, a
connected-system lookup, a lead webhook β that request is fenced to the public internet: it
can't be pointed at private or internal network addresses (your own servers, cloud metadata endpoints, localhost),
so a crafted link can't turn a fetch into a way to reach infrastructure it was never meant to
touch. And knowledge you upload can be kept answer-only β its text informs answers while
the file itself stays private β with a per-source lock or a whole-workspace setting; see
Answer-only sources under Teaching your assistant.
Sensitive account and platform actions β sign-ins (including failures), setting changes,
payments, verifications β are written to an append-only activity log with a timestamp and
source IP, so there's always an answer to "who did what, when".
Content your assistant reads cannot instruct it
Everything ingested from the web is untrusted, so the defence sits at three levels rather than
relying on the AI to be sensible:
- What could be executed is neutralised as it is read. Command lines and control tags
that Temira's own code would otherwise act on are made inert before they ever reach the
assistant. This is deterministic β it does not depend on a model behaving well.
- The evidence is sealed. Knowledge passages are handed to the assistant inside a
frame carrying a random reference generated per request, so a page cannot imitate the
boundary and pretend to be your instructions.
- The assistant is told the difference. Only your settings and the visitor's own
messages can direct behaviour; a passage never can, however it is phrased or whoever it
claims to be from β and it never runs an action because a document asked it to.
What this does not do, stated plainly: it cannot stop plain persuasion. A page that
simply lies β "the prices below are out of date" β contains nothing any code can detect. It is
flagged for you and the assistant is told excerpts cannot instruct it, but wrong content in a
knowledge base is ultimately wrong content. That is why the flag exists and why you see it.
Step-by-step instructions for deleting conversations, closing an account, or disconnecting
Meta channels and revoking their access are on the Data Deletion
page; the legal detail lives in the Privacy Policy and
Security pages.