Changelog
What changed in ChatFrom, release by release, newest first. The version you are using is in the footer of every page.
Last updated 4 November 2026
0.2.22: The iOS SDK
Added
- The ChatFrom iOS SDK puts your chatbot inside your own iPhone and iPad app, as a chat bubble in a corner or a row in a list.
- Turn on Mobile apps under Deploy, add the package in Xcode and start it with one line. A guide is at /docs/ios.
- In an app, the bubble and the chat's header take the colour, icon, size and corner you chose under Deploy, and the conversations land in the same log as your website's.
- An AI agent can turn Mobile apps on or off too, with deploy_chatbot.
Changed
- With the input bar as your website's launcher, the bubble's settings stay under Deploy while Mobile apps is on, since an app shows a bubble.
- The n8n node, from its version 0.2.0, works through ChatFrom's REST API with your API key. Its actions, their fields and what they give back are the same.
- Read with an API key, conversations come without the visitor's email and name and without each answer's tool calls and cost, and your actions' and MCP servers' addresses are masked.
Security
- The libraries ChatFrom is built on are up to date, among them the one it reads web pages with.
0.2.21: Connect ChatFrom from Claude
Added
- Connect ChatFrom to Claude as a connector, without an API key: press Connect in Claude, sign in to ChatFrom and allow it.
- Connected apps under Account shows what you connected this way, and disconnecting one stops it at once.
- An app connected like this can do what an API key can and nothing more. It cannot delete a chatbot, change your billing or make API keys.
0.2.20: n8n, a Chrome extension, Notion and HubSpot
Added
- Notion as a knowledge source: connect Notion once on the Knowledge page, choose the pages ChatFrom may read in Notion's own window, and tick the ones to add.
- A row of a Notion database keeps its fields when it is added, and ChatFrom changes nothing in Notion.
- HubSpot as a connection: sign in to HubSpot once, and every lead the chatbot takes is saved as a contact, with a note of what they asked and a link to the conversation.
- An email that is a HubSpot contact already keeps its details and gets the note. The HubSpot card asks which legal basis to record for new contacts, and says what stops a lead from being saved.
- MCP servers take a token, stored encrypted, and Find tools lists what a server offers to tick, so Zapier's MCP server connects the chatbot to thousands of apps, such as Gmail, Slack or Airtable.
- The ChatFrom node for n8n, n8n-nodes-chatfrom: a workflow can ask your chatbots, add pages, texts and Q&As to their knowledge, read their conversations and check your credits. A guide is at /docs/n8n.
- n8n's AI Agent can use the same node as tools, so an agent can look things up in your own knowledge.
- The ChatFrom Web Clipper for Chrome adds the page you are on to one of your chatbots in one click. A guide is at /docs/extension.
- The chatbot remembers the tools it used earlier in a conversation, so it does not ask again for what a tool already told it.
- Adding pages, Google Docs or Notion pages through the API gives back each source's doc_id, which removing it takes.
Changed
- The free plan is now called Hobby. What it includes is the same.
- On the Business plan, a switch under Deploy hides Powered by ChatFrom under the chat, in the widget and on the share page.
- While the chatbot uses a tool, a visitor sees plain words such as Working on it instead of the tool's name.
- A page address that can never be read, such as a word, an email address or a price, is refused before it counts against your hour of web pages, with a reason for each.
- A lead is still saved to HubSpot when Google Sheets refuses it, and the other way round.
- Sign-in asks for a quick check against bots, sends at most five links an hour to one email address, and says in plain words when a link could not be sent.
Fixed
- An answer that fails or is refused gives its place back at once, instead of counting against the answers your account can give at the same time for several minutes.
- Bold words in an answer are readable in a widget with a dark colour scheme.
- Deleting an account also disconnects its Telegram bots from ChatFrom.
- Many smaller fixes from a full review, across chat apps, connections, payments, the API, the dashboard and the site.
Security
- Next.js and Sentry updated for advisories marked critical, and the image library for a security update.
- Conversations, messages, evaluations and workflow versions are written by ChatFrom's server alone, so an account cannot change them through the database's own API.
- The limits on sign-in and on public chats count the address a request really came from, which a caller can no longer choose by writing a header.
- A Google Doc is read in time that grows with its length, so a document built to stall the import cannot.
0.2.19: Google Docs, and questions in any language
Added
- Google Docs as a knowledge source: connect Google once on the Knowledge page, choose documents in Google's own picker, shared drives included, and they are added as text. ChatFrom can open only the documents you pick.
- The Google Docs tab lists the documents already added, each with Remove. Choosing a document again brings in its changes.
- Delete all, above the list in Conversations, deletes every conversation of a chatbot at once, with the callback requests made in them, after you confirm.
Changed
- A question in another language than your knowledge, say Spanish to English documents, is also searched in your documents' language, so it finds the passage that answers it.
- The chatbot replies in the language of the visitor's latest message, even when the chat began in another or the message names a country.
- Sources name a Google Doc, a text or a Q&A by its title instead of an id.
- Markdown pasted into a Google Doc as plain text keeps its headings and tables when the document is added.
Fixed
- Adding or removing a ready-made workflow path no longer leaves its description in the routing step twice, or after its branch is gone.
- The Subscriptions path now takes only a visitor's own billing, so a general question about refunds or prices is answered from the knowledge.
- Google's document picker opens in the middle of the screen, and the Knowledge page keeps the tab you had open when you reload it.
0.2.18
Added
- ChatFrom's own assistant answers questions about ChatFrom on the home page, built with ChatFrom over MCP.
- A single-page site can take the widget off a page with ChatFrom.remove(), and add it back with the script tag.
0.2.17
Added
- An AI agent connected over MCP can now turn hand-off to a person on, say which email it goes to, turn memory on and change the guardrails.
- It can also set how the widget looks, such as the input bar, its placeholder lines and whether sources show.
- It can save test questions and run an evaluation against them, billed to your own OpenRouter key, as in the dashboard.
0.2.16: Each company's newest models
Changed
- The models offered are each company's newest: GPT-6 Luna, the new default, and GPT-6.1 Sol from OpenAI, Claude Haiku 5.5 and Claude Sonnet 5.5 from Anthropic, Gemini 3.5 Flash-Lite from Google and Mistral Large 4 from Mistral.
- A chatbot set to a model taken off answers on its own company's newest instead, so its answers stay with the company its owner chose. Nothing needs doing.
- GPT-5 mini and nano move to GPT-6 Luna, GPT-5 to GPT-6.1 Sol, Claude Haiku 4.5 and Sonnet 4.5 to their 5.5 models, the Gemini 2.5 models to Gemini 3.5 Flash-Lite, and Mistral Medium 3 to Mistral Large 4.
- The credits an answer uses on each model, on the pricing page and the Model page, are measured against what OpenRouter billed, for every model offered.
0.2.15
Added
- Claude Haiku 5.5, Anthropic's newest small model, at one credit an answer: on every plan it gives as many answers as the plan has credits.
Changed
- The Model page offers a temperature only for models that take one. GPT-5, GPT-5 mini, GPT-5 nano and Claude Haiku 5.5 set their own, and are no longer sent one.
0.2.14: A help centre
Added
- A help centre at chatfrom.io/help: short answers to what people ask about ChatFrom, one topic a page, from pricing and setup to channels, AI agents and privacy.
- Tables in an answer are shown as tables.
Changed
- Pages added from a website keep their tables as tables, so a price still says which plan it belongs to.
0.2.13
Added
- Code in an answer is shown the way an editor shows it: its language and a copy button above it, and the code in colour.
- JSON a chatbot writes without marking it as code is shown as code too, indented as it was written.
Changed
- Every chatbot is asked to put code, commands and configuration in code blocks that name their language.
Fixed
- Starting a new conversation in the input bar's chat no longer asks the bar's last question again.
- A question picked from the input bar while an answer is still coming is asked once that answer is done, instead of being lost.
- The input bar offers to continue as soon as a question is sent, not only once its answer has finished.
0.2.12: An input bar of glass
Added
- Your chatbot can wait as an input bar instead of a bubble: a bar of frosted glass across the foot of your page. Choose Input bar under Deploy, Appearance.
- Your suggested questions take turns in the bar, each typed in word by word, and show as chips when a visitor clicks into it.
- A visitor can type straight into the bar, or pick a chip, and the chat grows up out of the bar as a pane of smoky glass, with the question already asked.
- The message box stays where the bar was, apart below the conversation. On a phone the pane reaches the top of the screen.
- Bar position puts the input bar on the left, in the center or on the right of your page. On a phone it spans the screen.
- Placeholder texts: up to four lines of your own that take turns in the input bar, typed in word by word, in place of your suggested questions.
- A tap on the page beside the open chat folds it down into a small bar that says Continue conversation. A click on it opens the chat again where it was, on the next page too.
- Sources under an answer can be opened: a web page opens in a new tab, and a file opens to the passage the answer used.
- A new switch under Deploy, Show sources under answers. Turned off, visitors get the answers alone, on your site, the share link and in chat apps; you still see the sources in Conversations.
Changed
- Your account in the sidebar is now called Account.
- The suggested questions over the input bar stand on its left, in the same dark glass as the chat, in white.
- The input bar has a faint outline and a shadow, so it shows on a white page too.
- Deploy no longer shows a switch for the Powered by ChatFrom line, which stays on, on every plan.
Fixed
- Moving between the dashboard's pages no longer redraws the sidebar: its items, your credits and your email stay where they are while the next page loads.
- A website source opens its page in a new tab, in the chat and in Conversations, and chat apps now link the pages an answer used.
- The copy and rating buttons in the input bar's chat stay readable when pointed at.
- A large document being added to one chatbot no longer slows every other chatbot's answers while it is indexed (engine 0.1.34).
0.2.11: AI agents
Added
- Connect Claude Code, Cursor or another AI agent to ChatFrom: make an API key under Your account and add one line to your agent.
- Then ask it to create a chatbot, add your website to its knowledge, write its instructions, try it and put it live.
- Your agent can also read your chatbots' conversations, all of them or only the ones a chatbot could not answer, and see how many credits are left this month.
- A key works as you, within your plan, and can't delete a chatbot, change your billing or make another key.
- Your account shows when each key was last used, and deleting one stops it at once. The steps are in the new AI agents guide.
0.2.10: Two weeks on Free
Changed
- On the Free plan, conversations are deleted 14 days after their last message, with what the chatbot remembers about people and callback requests for calls before then; Pro and Business keep them as long as you choose.
- Nothing goes the night an account arrives on Free: new and existing Free accounts have 14 days before the first deletion, and an account whose paid plan ends has 30.
Fixed
- A callback request, and the conversation it was booked in, are kept until the call is past your retention period, so a call still to come is never deleted.
0.2.9: Checked end to end
Added
- Hand-off emails go to a new address only once someone there confirms it by email; until then they go to your sign-in address. Addresses saved before this release count as confirmed.
- The sign-in page says when a link was asked for in another browser, and when signing in would replace the account you are signed in as.
- Find a person in Conversations also finds someone who wrote by email.
Changed
- Each account has a daily budget for the emails ChatFrom sends for it: 100 on Free, 2,000 on Pro and 5,000 on Business.
- Each answer sets aside the most it could cost, so a month's credits are passed by one answer at most. Near the end of the credits, and on Free with the dearer models, fewer answers run at once.
- New limits per account keep one account from crowding out others: 600 web pages fetched an hour, 60 sources indexed a minute and 200 evaluation steps an hour.
- By email, each person who writes in a thread has a conversation of their own. Mail that fails its sender's domain check is not answered, and other unverified senders get at most three replies a day.
- With a Stripe test key, codes are emailed only to your own sign-in address.
- A subscription Stripe stops collecting for, unpaid or paused, ends the plan.
- Runs on engine 0.1.33.
Fixed
- A typed reply to a workflow question in a chat app is taken as its answer, and the AI notice shows when a chat-app conversation opens with a question.
- A web page nested very deep, or an HTML email built to be slow, can no longer stall the app; a page too complex to read is refused with a clear message.
- A visitor's message with an emoji at the cut-off no longer breaks the Conversations page.
- The Model page shows the model a chatbot really answers with.
- A change whose save fails after you leave its section is no longer lost without a word.
- An upload the app stopped waiting for is still counted against your credits.
Security
- A visitor's chat stream carries only what the chat shows, and a draft chatbot's share and embed pages show nothing of it.
- Langfuse projects and custom actions are checked by the address they really reach, and what an owner's Langfuse sends back is read only up to a limit.
- Chat-app credentials and account links saved before encryption existed are now encrypted too.
- Commands such as new in chat apps follow the same limits as messages.
0.2.8: Locked down
Changed
- The Free plan has no limit on chatbots again: its monthly credits are what it limits.
- Analytics shows credits, as the rest of the dashboard does, counted from the same ledger as your allowance.
Security
- The secrets you give ChatFrom are stored encrypted, as your connections already were: custom actions' headers, your tracing secret, the Slack hand-off webhook, your own OpenRouter key and each chatbot's tool token.
- The site's content security policy is now enforced, not only reported: scripts, frames, forms and connections reach only the services ChatFrom uses.
- Rate limits are kept in one shared store, so a new release no longer starts them afresh.
- When this month's usage cannot be read and no figure from earlier this month is known, a message is turned away with a request to try again in a moment, rather than answered without checking the allowance.
Fixed
- Deleting or exporting a person who wrote by email now takes their notes and account link too, for conversations started from this release on, and no longer takes a conversation someone else started later in the same thread.
- On Telegram, Slack and Discord a notice such as "Too many messages" is sent at most once a minute in a chat.
0.2.7: Each model with its maker
Changed
- Every model call now goes only to its model's own maker, never to another company that also runs the model. The privacy policy and the data processing agreement say so.
- Answers go to the maker of the model you chose, and the small steps around them (turning a question into a search, memory notes, reading a picture) to OpenAI, whose models they use.
- DeepSeek V4 Flash and V4 Pro are no longer offered: OpenRouter serves them only from other companies' servers, not DeepSeek's own. A chatbot that used one now answers with GPT-5 mini; pick another model under Model to change that.
- The Free plan now includes one chatbot. Free accounts that already have more keep them.
- A sign-in link now opens a page with one button that signs you in, so a mail scanner that opens links before you do no longer uses yours up.
- Runs on engine 0.1.32.
Fixed
- Right after paying, the dashboard no longer offers the plan you just bought while it is being switched on.
- Pressing the sign-in button twice, or going back and pressing it again, no longer says the link did not work.
- A source that fails part-way through indexing counts the chunks it had already embedded, which the provider charged for.
- Connecting Shopify while it is busy or out of reach says to try again in a moment, as the other connections do.
- Clearing the tracing settings clears the last message, and saving how long conversations are kept updates the page.
0.2.6: Loose ends
Changed
- The Pricing link at the top of the site now goes to the plans on the home page, with the full pricing page a click away under them.
- Runs on engine 0.1.31.
Fixed
- A workflow question is answered once: the same answer arriving twice, as a chat app can send it, no longer answers the next question too.
- A workflow that loops stops cleanly at its step limit, and a reply cut short before a question no longer marks the reply after it as cut.
- When a new version of a source fails to index, the version that was answering stays, with its file, so re-splitting the knowledge still works.
- Keyword search finds an accented word whether its accent was saved as part of the letter or apart from it, and whatever its case.
- Italic text shows as italic on Telegram and without stray marks in email, and file names and words with underscores stay as written.
- Conversations are kept for your retention period after their last message; a rating or a summary no longer keeps one longer.
- Callback requests are limited per phone number however the number is written.
- A workflow version appears in the list as soon as it is saved.
- The support link on the error pages goes to our support address.
Security
- Sign-ups whose email address was never confirmed are deleted a week after the last link sent to them.
- The admin routes answer as if they did not exist to anyone but an admin, signed in or not.
- A picture a visitor sends whose reading is cut off is counted at the reading model's own price, since the provider may still charge for it.
0.2.5: Storage that comes back
Changed
- Runs on engine 0.1.30: each chatbot's knowledge has a store of its own, so deleting a chatbot frees its storage, and space left by deleted sources and re-crawled pages comes back once it outgrows the space in use.
0.2.4: Nothing lost on the way
Fixed
- A change you make in a chatbot's settings is saved even when you move to another section right away, or shown as not saved with a retry, and closing or reloading the tab asks first while anything is unsaved.
- Following a link out of a workflow with unsaved changes asks whether to save them, leave without them or stay.
- A first message with an emoji where its title is cut is no longer lost, and neither is a comment, a note the chatbot keeps or a hand-off name cut the same way.
- An email that could not be read from the mail service at once is answered once it can be, instead of going unanswered.
- A deploy stopped halfway can no longer block the ones after it.
Security
- On WhatsApp, a flood of messages gets only a few notices a minute back, so it cannot run up sends on your number.
Changed
- Runs on engine 0.1.29: a chatbot's tool results always fit what its model can read, the model runs at most ten tool calls at a time, and every model call a turn makes is counted in its cost.
0.2.3: Keeping each chatbot's data its own
Security
- Each chatbot keeps its own visitor id in the browser, so another chatbot's owner can no longer use it to reach what your chatbot remembers about a visitor.
- A chat can no longer be logged under a conversation that belongs to another chatbot or visitor.
- Your own Langfuse project is checked when you save it: the keys must open the project in the address, and a public key another account uses is refused. The engine now keeps each chatbot's traces to its own project.
- What a chatbot remembers about a visitor, their answers to its questions and what its tools return now go into the visitor's own turn, never into the chatbot's instructions.
- Only Google's own forwarding confirmation, checked with DMARC, is passed on to a chatbot's owner, at most three an hour.
- While sign-in is limited to a list, no other address can sign in, even with a link asked for elsewhere.
- A refused sign-in no longer writes the email address to the server log.
Fixed
- Deleting a chatbot also stops an upload or website import still running, and deletes its traces in ChatFrom's Langfuse.
- Deleting a conversation also forgets a workflow that was waiting for the visitor's answer in it.
Changed
- Runs on engine 0.1.28.
0.2.2: Billing and uploads
Fixed
- A plan stays exactly what you pay for: a late invoice, a repeated or out-of-order event from Stripe, or the end of an old subscription can no longer give a plan back or take one away.
- A second checkout can no longer start while a plan you just bought is still on its way, and a second plan paid at the same moment is cancelled at once and refunded by us.
- Deleting an account reads everything it needs before it ends the subscription, so a failure while reading leaves your plan running.
- A new version of a file only counts for what it adds to the knowledge base, so replacing a large file near the limit works.
Security
- Adding knowledge is paid from the month's credits and stops once they are spent, as chat does.
- Files sent together can no longer pass the knowledge base limit, and an upload is refused when the knowledge base cannot be measured.
- Chatbots can be created up to ten a minute.
Changed
- Runs on engine 0.1.27, which keeps one upload, file or tool server from taking the service down.
0.2.1: Security fixes from the October review
Security
- A flood of sign-in requests can no longer clear the hourly limits that protect order lookups, verification codes, bookings and call-backs.
- Converting a web page takes time in proportion to its size, so one oversized page or upload can no longer stall the app, and an HTML file over 4 MB is refused.
- Closing tags in a chat file are spaced apart and one chat file of an account is read at a time, so one visitor cannot stall files for everyone.
Changed
- The overlap between pieces of a source can be at most half the piece size, so a setting can no longer multiply a document.
0.2.0: Open to everyone
Added
- Sign-ups are open to everyone. Pro and Business are bought from the dashboard through Stripe, and larger companies can agree custom Enterprise terms instead of a monthly plan.
- Stripe connection: a chatbot shows customers their subscriptions, cancels or resumes one and sends a billing page link, once they confirm their email with a code.
- Google Sheets connection: the chatbot adds a row for every lead, booking or request to a sheet in your Google Drive.
- Cal.com and Calendly connections: the chatbot offers your free times in the visitor's own time zone and books the meeting.
- Files and photos in the chat: visitors can attach a PDF, text, Markdown or CSV file, or an image, in the widget, on the share page and in the chat apps.
- Visitors can download their conversation as a text file.
- Ready-made workflow paths for Stripe subscriptions, Shopify orders, booking a meeting and hand-off to a person.
- The workflow editor has a full-screen mode, a dark mode and a list of earlier versions to bring back.
- Set it up for me on the Knowledge page chooses how your sources are split from a short description of them.
- A line telling visitors they are talking to an AI assistant, on by default and switched under Deploy.
- Knowledge warns about a source that reads like instructions to an AI.
- New pages: Pricing with a plan calculator, Compare, a Getting started guide and this changelog.
Changed
- The Workflow page offers two ways to run a chatbot: the default loop, or a workflow you draw step by step.
- Sign-in links work in whichever browser opens them, a phone's mail app included, and arrive in a ChatFrom-branded email.
- The Tools page groups its tools into Connections and Built in.
- Better keyboard and screen reader support, contrast and phone layouts across the dashboard and the chat.
- The chat's message box has the right size on a desktop and on a phone, and can grow to several lines.
Fixed
- The Analytics charts show their bars again, now with axes and dates.
- A dashboard section that fails to load shows its own error and a Try again button, while the rest of the page keeps working.
Security
- A full security review, with fixes across the API, the widget and the connections.
- Row level security is tested on a real database whenever the database changes.
- The API refuses malformed requests and floods before it does any work, and the chat apps' webhooks cap what they read.
0.1.6: Shopify
Added
- Shopify connection: the chatbot tells customers where their order is, with the tracking link, and asks the store to accept a return, once they give the order number and their email.
- The landing page shows the tools a chatbot can connect to.
Changed
- The Tools page shows the tools in use as cards, and the rest as tiles to add with one tap.
0.1.5: Help with setup
Added
- Need help? on the Behaviour page writes a chatbot's whole setup from your description of it, paid from your credits.
Changed
- The Behaviour page is the system prompt itself: you write your part in place, and each setting shows where its lines go.
- The Free plan gives 50 answer credits a month.
- A workflow's question understands the reply: a no is never taken as the answer, and a question back is answered before it asks again.
0.1.4
Added
- The Model page shows about how many answers your plan's credits give a month on each model.
0.1.3
Changed
- Usage is shown in credits instead of dollars, and the Free plan has 10 MB of knowledge.
0.1.2: Chat apps and credits
Added
- Chat apps: Telegram, Slack, Discord, Crisp, WhatsApp and email, with account linking so a chat can act for your signed-in users.
- Evaluations: test a chatbot on your own questions, graded by a judge model or by RAGAS, on your own OpenRouter key.
- The widget: your own bubble, colours and label, answers streamed with formatting and sources, a Stop button, and ratings from visitors.
- Workflows can ask the visitor a question with answer buttons, and take a request for a call back.
- Choose how your knowledge sources are split, and re-index them.
- Answers come in the visitor's language, even when your documents are in another.
- An About page, a contact page, a blog and its RSS feed.
Changed
- The product is called ChatFrom, with a new design across the site and the dashboard.
- Usage is counted in answer credits, where one credit is $0.001 of model cost, across three plans: Free, Pro and Business.
- Memory works without tool calls: notes about a person go with every turn and are updated after each answer.
Security
- Next.js updated past a critical advisory, the app's container locked down, and security headers on every page.
0.1.1
Fixed
- Signing in sends you back to the right address behind the hosting proxy.
0.1.0: First release
Added
- Chatbots built from your own documents and websites, with a dashboard for their knowledge, behaviour, model and conversations.
- A workflow editor, and custom actions that call your own API.
- Memory of the people a chatbot talks to, hand-off to a person by email, and feedback links.
- Plans with a monthly allowance and rate limits.
- The public chat: a widget for your site, an embed page and a share page.
- Every answer traced in Langfuse, with a link from the conversation.