Skip to main content
Track new features, improvements, and fixes shipped to Paige.

October 2026

Changes

  • Message Costs shows today’s prices, in rand, split the way you think about them. The old-versus-new comparison is gone now that Meta’s 1 October pricing is simply the price. The page opens in rand, says plainly that Meta bills you and Paige adds nothing, and splits every bill into Broadcasts and Running your bot. The calculator has two tabs: General, where you type the numbers, and Your bot, which reads the journeys out of your own flows and code and is saved for your whole team. Each journey’s % of people stands on its own — the percentages don’t have to add up to 100. See Message Costs.
  • Rand figures in Message Costs use the live exchange rate, with nothing added. Paige converts Meta’s dollar prices at the current market rate, refreshed once a day, and shows the rate and the date it was fetched. Your Paige subscription and credits are unaffected and stay on Paige’s own fixed rate. See Rand or dollars.
  • The cost report has a month switch and shows your free messages. Choose Last month or This month (so far). When your replies used some of the 1,000 free service messages, you see the full cost, the free messages taken off, and what Meta charged. See Your costs from real traffic.
  • Savings suggestions are saved for the whole team. What Send fewer messages finds now stays on the card for everyone on the project, on any device, along with what was applied — so nobody spends credits re-running it just to look. Both checks show the credits they’ll use before you click and what they used afterwards. Only one Apply runs on a project at a time. See Send fewer messages.
  • Get an email when your free service messages run out. An opt-in Email reminder in Message Costs sends one email in any month a Paige-hosted bot passes 1,000 service messages, to the project owner or an address you choose. See Get an email when the free messages run out.
  • A file uploaded as a broadcast header is send-only. A picture, video or PDF you upload in the broadcast wizard is saved to Storage and sent, and is no longer read into your bot’s knowledge. Storage has the same choice for your own uploads: Sent by the bot. See Files your bot only sends.
  • The deploy and flow-publishing pages now cover business verification. Meta won’t publish flows until your business is verified; a deploy still puts your code and tables live and tells you which flows it held back. The pages also cover the one case where a refused update takes a live flow offline, and the API reference now documents the per-flow state in the deploy response. See Flows need a verified business.
  • Asking for something Paige can’t do yet is now documented. There’s a short page on how to file a gap — what to write, and the prefilled link an AI agent builds and hands you instead of sending it on your behalf. The same instructions are served as plain text at howto.paigeme.dev/llms.txt, so an agent crawling the docs finds them too. Requests go to a human inbox and are never published. See Requesting a feature.
  • The two Meta-side things that block a new number are now documented. Business verification is what lets you publish flows, so until it clears a deploy puts your code and tables live, saves each flow as a draft and tells you verification is the reason — and a payment method on your business in Meta is what lets a broadcast actually send. Both now have a home, with the Get verified and Check payment method buttons explained, plus the confirmation email you get the first time a number is connected. See Verifying your business and Adding a payment method on Meta.
  • The pre-built flow templates are in the navigation. Seven template pages — lead capture, appointment booking, contact form, customer feedback, support ticket and two surveys — were on the site but reachable only by direct URL. They now sit under Features → Flow templates. See Flow templates.
  • Prompting tips now come with worked examples. The prompting guide spells out what “be specific about behavior” actually means, walks three requests through weak-then-strong, lists the capabilities you can ask for but might not know exist — tables, tags, scheduled tasks, documents — and gives you an order to escalate in when the agent can’t find what you mean. See Prompting tips.
  • A WhatsApp number can now be swapped. A project is no longer pinned to the first number you connect. Settings → WhatsApp → Danger Zone → Disconnect takes the number off the project and deregisters it with Meta, and you can connect a different one with the same Connect WhatsApp button. Conversations, contacts, messages and code are kept; scheduled tasks are paused until a new number is connected. Save the two-step verification PIN the dialog shows you — Paige emails a copy, and without it nobody can re-register that number. See Changing your WhatsApp number.
  • There’s now a troubleshooting page for when the agent breaks something or gets stuck. The fastest way back to a working bot, what to do when the agent loops or stalls mid-task, how to read your own logs, which failures are Meta’s rather than Paige’s — and a plain answer on credits: a failed request is still charged for the AI work it did, re-asking is a new charge, and restoring a version is free. See Troubleshooting.
  • You can now see what WhatsApp charges before you send. Tools → Message Costs prices every kind of message for your market on Meta’s current rates — estimate from your bot before you go live, see what your real traffic cost, and run an audit that finds places to send fewer. Signing in has a self-service password reset too. See Message Costs.
  • Pricing now says what you actually buy. Running a project yourself is R570 a month, per project — that part hasn’t changed. What’s new in the docs is the Managed route, where Green Pages builds the bot for you: a once-off setup fee for the build, then either you take it over on R570 a month or we keep running it, broadcasts and campaigns included, for a monthly amount agreed with you. Managed is priced per engagement, so it’s an email rather than a checkout. See Starter and Managed.
  • There’s now a page for what Paige can’t do yet. A flat list of the limits, with the honest workaround next to each — one channel only, nothing but the dashboard can send a broadcast, schedules run in UTC, and the caps on tags, workspace members and owned workspaces. Meta’s rules get their own section, because no tool gets around those. It’s written for the AI agents people build with, so one reads it and says Paige doesn’t support that rather than inventing a workaround that half works. There’s still no public roadmap, so nothing on it carries a date. See Limits.

September 2026

Four releases. The month opened with one idea — tags — and closed with another: files. Paige could already build an audience from a tag, but there was nowhere to put tags on people; now there’s a contact list, a tag vocabulary, and three ways to label someone. Your bot can build a filled-in PDF, Word file or spreadsheet at the moment a customer asks for it — and you can now send a file by hand from a conversation, which until now meant picking up your phone. In between, deploying finally finishes the job when you delete a table, and synced website content became readable instead of hidden.

New features

  • Send a file from a conversation. Attach a picture, video, voice note or document in the reply box and send it to the customer — a photo of the part they asked about, a signed quote, a menu. Up to 10 files in one send, each with its own caption, and anything you type goes out after them, so “see attached” never arrives before the attachment. You have to have taken the conversation over first, and the customer’s 24-hour window has to be open — Paige refuses rather than quietly switching your bot off for you. Files you send are kept permanently and stay viewable in the thread, long after WhatsApp has dropped them. Works whether Paige sends for you or your own backend does. See Sending a file.
  • A send Paige couldn’t confirm now says so. A file that provably didn’t go out shows Not sent, with a Retry. One whose outcome was never confirmed shows Not confirmed and deliberately offers no Retry — check the conversation first, because sending it again could deliver it twice.
  • Your bot can build and send documents. Upload a blank quote, contract or booking form as a template, and Paige reads it once, shows you the blanks it found for you to rename or drop, and writes code that fills them in for each customer and sends the file on WhatsApp. Reading the template costs credits once; filling it in afterwards costs nothing, however many documents your bot sends — there’s no AI at send time, so a quote can never come out quietly reworded. Documents can also be built from scratch with no template at all. See Documents.
  • Upload a document as a template. The Storage upload dialog now asks how Paige should use a file. Choose Template to fill in and its text is never added to your bot’s knowledge and never counts against your knowledge-base space — which is what you want for a blank form. Spreadsheets (.xlsx) are accepted too. See Storage.
  • Deploy can now remove a table or column from production. Deleting a table in the Database tab only ever removed it from staging. A No longer in staging section in the deploy dialog finishes the job — unticked by default, never ticked for you — and it never offers the tables Paige manages or anything synced from your website. See Deploy.
  • Website content is now visible in the Database tab. Tables filled by a connected site used to be hidden entirely, which left you nowhere to check that a sync had worked. They now appear with a Synced badge and are fully readable and downloadable — and view-only, because Paige rewrites them on every sync. See Database.
  • Manage what a connected website syncs. The WordPress card now sums up what’s syncing in a line, with a Manage content button for the detail — so the card stays readable however many parts you’re pulling in. See WordPress.
  • A Contacts sub-tab under Broadcasts. Your address book: everyone the project can broadcast to, with their tags, whether they’re opted in, and whether WhatsApp says the number is reachable. Search, page through, click a tag to filter to the people who carry it — and the count above the list always agrees with the count that tag reports elsewhere. Tick people and Add tag to label up to 500 at once, keeping the tags they already have. A Tags view lists every tag with its count, and lets you rename one everywhere or remove it from every contact. See Your contacts and their tags.
  • Tag a contact without leaving the conversation. A tag button in the Conversations thread header opens the contact’s tags, with every tag you already use listed underneath and how many people carry each — so you’re joining an existing audience rather than quietly starting a new one. Each change saves on its own; a contact can hold up to 25 tags. See Tagging a contact.
  • Capitals no longer split your audiences. New tags are saved in lower case, so typing VIP or vip lands on the same tag. Tags made before this are still matched exactly and are listed separately with their own counts — and when that affects what you’re about to do, Paige says so with the number of contacts involved instead of letting you build an audience that silently misses them. Renaming VIP to vip moves those contacts across for you.
  • Ask an assistant to tag people. With a conversation open, tell the Conversations assistant — “tag them as vip” — and it writes it immediately, because one contact is a small change. For a group, ask on the Broadcasts tab: the Broadcasting assistant works out exactly who matches, shows you a card with the count and precisely which tags go on and come off, and writes nothing until you press Apply. That audience deliberately includes people who opted out or aren’t on WhatsApp, because a tag is a label, not a message. See Tagging a whole group.
  • Your bot can tag a contact itself. paige.tag() lets bot code label someone as it learns something about them — tag a buyer at checkout, tag someone who asked about pricing — and those tags are immediately usable in a segment. It never throws, so a tagging problem can’t take down a reply. See Tagging a contact from your bot.

Changes

  • The reply box in Conversations has a new shape. Every control now lives inside the box itself: you type in the middle, send on the right, and Send template and Attach files sit behind a chevron at the bottom-left. Opening the chevron shows both. It keeps a long message full width instead of squeezed between buttons, and puts the same two actions in the same place on a phone as on a computer. See The reply box.
  • A broadcast that reached nobody now says so. A campaign that matched no contacts used to look exactly like a successful send — a green tick and no failures — or sit on “Sending” forever. It’s now marked Reached nobody on the list and on its dashboard. Nothing was sent, so nothing was charged. See When a campaign reached nobody.
  • Contact import moved. It now lives in Broadcasts → Contacts, next to the contact book it fills, rather than on a card in Settings. Anyone who can see the Broadcasts tab can import. See Import contacts.
  • Requesting a display-name change tells you the truth. Paige now confirms with WhatsApp that the request was actually taken before reporting success, and a name waiting on review shows as Pending review rather than as rejected. See Changing your display name.
  • Editing a segment no longer drops what the form can’t show. A segment targeting people by a button they tapped keeps that criterion when you edit and save it, instead of silently losing it. See Editing and deleting.
  • Downloading a big table is steadier. Exports run one at a time per project, show Preparing and Downloading, survive you navigating away, and tell you when a table is too large rather than handing you a half-finished file. See Downloading a table.
  • Very heavy websites still import. A site whose pages are too large to read in one batch is now handled automatically — Paige asks for fewer records at a time and carries on, and holds back deletions until it’s had a clean run. See If your pages are very heavy.
  • A segment of only hand-picked contacts now reaches exactly those people. Previously hand-picked contacts were always added on top of the other criteria — which, with no other criteria set, meant the segment matched your whole opted-in list rather than the three people you chose. If you want a short, specific list, this is now the way to build one, and the editor tells you that’s what it’s doing. See Building one.
  • Hand-picked-only segments are checked against your own backend first. If your project sends broadcasts through your own backend rather than Paige’s, Paige now asks whether it understands “only these people” before sending, and tells you while you’re choosing the audience if it doesn’t — rather than handing over a request the backend would read as everyone. See If your project sends through your own backend.

August 2026

Four releases. The first was about reaching a customer after their 24-hour window had closed. The second opened the other direction — letting an outside service reach your bot — and put your media library on the API. The third was about getting your broadcast data back out, and about the moments where Paige was doing the right thing without telling you. The fourth brought your website in, so your bot answers from what you’ve already published.

New features

  • Connect your WordPress site. Point Paige at your website and it imports the parts you choose — blog posts, pages, events, products — into a table your bot can search, or into the knowledge it answers from, refreshed daily, weekly or monthly. There’s nothing to install on the site and no password or key to hand over, because Paige reads it the way a browser does; which also means the connection never expires. Add content later re-checks your site from scratch, and disconnecting leaves everything already imported in place. Once content is in a table you can ask the AI chat for a screen that browses it — “let people browse my upcoming events” — pictures included. See WordPress.
  • Pick the image, video or document a broadcast sends. Templates that lead with a media header can now actually go out: choose the file in the Broadcasts wizard, from your existing media or a fresh upload. Paige fetches it when the broadcast launches rather than when you pick it. See Building a broadcast.
  • Target several saved segments in one broadcast. Pick more than one and you reach everyone in any of them — someone in two segments still gets a single message. See Building a broadcast.
  • Duplicate a finished broadcast. Reuse a campaign without rebuilding it. Paige re-checks the copy against today — a rejected template, a deleted segment, a missing file are flagged rather than silently carried over — and nothing is saved until you finish the wizard, so a closed dialog leaves nothing behind. See Reusing a broadcast.
  • A calendar and quarter-hour times for broadcast scheduling. The Schedule step now offers a date picker and times every fifteen minutes, which is the cycle Paige actually launches on — so the time you pick is the time it goes. Slots already past, and the ones your clock skips when it goes forward, aren’t offered. See Building a broadcast.
  • Export moved to the top of the Broadcasts list. It now sits next to New Broadcast, and the row tick boxes only appear once you ask for them. See Exporting several broadcasts at once.
  • Download a broadcast’s recipient list. A Download CSV button on the recipient view saves the list as a spreadsheet — names, numbers, delivery status, failure reasons, waves, timestamps — respecting whatever filter you have on, so Failed gives you just the numbers to work through. Tick several campaigns on the Broadcasts list and Export gives you a summary spreadsheet for the lot, or a ZIP with one recipient list per campaign. Owner and workspace-admin only. See Downloading the recipient list.
  • A broadcast that hits the daily limit now says so. It used to sit showing Sending with a stuck count and no explanation. Now you get a notification, a Paused — daily limit badge, and a banner telling you how much of the allowance you’ve used and the exact time the rest goes out. The Broadcasts tab shows the day’s allowance, and the wizard’s Confirm step tells you what’s left before you commit. See When a broadcast hits the cap.
  • Opting out is no longer one-way. Someone who replied STOP can re-subscribe themselves by replying START (or UNSTOP, SUBSCRIBE, OPT IN). They get a short confirmation and are back in future audiences. Only the contact can do it, by messaging you — there’s deliberately no button for you to do it on their behalf. See Opting out and back in.
  • Import any spreadsheet without renaming its columns. The contact importer now has a mapping step: point each Paige field at whichever column of your file feeds it, with your first few rows shown underneath to check against. Names split across First Name and Last Name can be joined, and unnamed or duplicate headings are listed separately so you can tell them apart. See Matching your columns.
  • Templates with a picture, video or document header can now be created. Every attempt used to be rejected by Meta, because no sample file was ever sent for review. Attach one when you build the template and Paige uploads it for you. See Media headers need a sample file. (Sending one is now covered too — see the broadcast media picker below.)
  • Broadcast test sends appear in the conversation. A test that sends successfully now shows in that number’s thread in the Conversations tab, so you can see exactly what the person received instead of trusting the preview.
  • Inbound hooks — let another service call your bot. Mint a URL under Settings → API → Inbound hooks and paste it into a payment provider, a booking tool, your CRM, or a form builder. Whenever something happens over there, it’s delivered straight to your bot to act on, exactly as it arrived. Holding the URL is the permission, so there’s nothing for the other service to sign up for; the URL is redisplayable rather than show-once, and Rotate is how you invalidate one. Each hook shows its 20 most recent arrivals so you can see whether requests are landing. Paige creates the src/routes/inbound.js handler for you and never overwrites it — and because Paige can’t vouch for who sent a request, your bot verifies the sender. See Inbound hooks.
  • Manage your media library over the API. /v1/media uploads a file, lists the project’s assets, returns a signed URL for one, and deletes one — so a catalogue sync or a connected AI agent can add images and documents the bot sends, without anyone clicking Upload. Three ways to send the file: a public URL Paige downloads, base64 bytes inline, or a normal multipart upload. Two new permissions, media:read and media:write, cover it. See Storage.
  • Connected agents can read your flows and add media. Four new agent tools: list_flows and get_flow let an agent see what a bot already does before it changes anything, and upload_media and list_media let it add a file and reference it by slug. See What a connected agent can do.
  • Send a template straight from Conversations. A Send template button now sits in the message composer. Pick an approved template, fill in its placeholders inline with a live preview, and send — the way to reach someone whose 24-hour window has closed. See Sending a template.
  • A standard conversation starter. Paige keeps a one-tap opener pinned at the top of the template picker, and offers to create it if your project doesn’t have one. Its job is to get a reply, because a reply is what reopens the 24-hour window. Sending it switches the conversation into handover so you take it from there. See The conversation starter.
  • You’re told when Meta approves a template. Approval and rejection now arrive as a toast wherever you are in the project, and the badge under Settings → Templates updates itself. A rejection shows Meta’s reason, with a View action that takes you to the template. Previously nothing told you — you had to keep reloading the page. See Template approval.
  • The Conversations Agent can propose a template. Ask it to reach someone outside the window and it puts an approved template, filled in, into an approval card — or drafts a brand-new template if none fits. It never sends or submits: your browser does that when you press the button. See the Conversations Agent.
  • Read and write your tables over the API. /v1/tables lists your project’s tables, returns a table’s columns, and reads its rows with filters, ordering, and paging — and the write side inserts, updates, and deletes rows. Two new permissions, tables:read and tables:write, cover them, and connected AI agents get the matching tools. Paige’s own platform tables stay out of reach, and every update or delete must carry a filter. See Scopes.
  • Disconnect a WhatsApp number. You can now release the number connected to a project so a different one can be connected in its place.

Fixes

  • Integrations now work in scheduled tasks. Code that posts to Slack or writes to Airtable through an integration used to work when a customer messaged your bot and fail every time the same code ran on a schedule. A nightly Airtable sync or a daily Slack summary is now a perfectly good thing to build — the workaround of storing a separate API key as a secret is no longer needed. See Scheduled tasks.
  • A connector whose sign-in has expired now says so. The card used to keep reading Connected after its access pass ran out, so the first sign of trouble was a bot that had quietly stopped working. It now shows an amber Expired badge with a short note and a Reconnect button, and updates itself the moment the pass expires without needing a reload.
  • A reactivated project shows what it’s doing while it rebuilds, instead of looking broken or half-empty. If any part of the restore doesn’t come back cleanly you’re told, with a Retry button, and your saved copy is kept until it works.
  • Your files come back when a paused project is reactivated. Images and documents you uploaded, and photos, voice notes and documents customers sent in, are now included in the copy taken when a project pauses — previously they could return as broken pictures in your chats and in Storage.
  • Leaving About blank when saving your WhatsApp business profile no longer fails with an error that didn’t explain itself, and edits you’re part-way through are no longer discarded.
  • Projects running their own self-hosted backend keep the normal WhatsApp connection flow, instead of being pointed at Meta’s developer portal.
  • The Enabled / Disabled toggle on a scheduled task is now a comfortable size to tap on a phone in every state.
  • The SQL button in the Database tab is now a proper two-way switch. It used to be a one-way door — once you were in the editor there was no way back to the table you’d been looking at. Your query and the Write setting survive the trip, and switching between Preview and Production turns Write back off.
  • A deploy that fails to update one of your tables now says so, naming the tables and whether it was their structure or their data that didn’t make it. It previously flashed a green success message while the table was left behind.
  • The cancel confirmation on a broadcast now counts everyone affected, including recipients held back for a later wave. It also no longer offers a Duplicate action that never worked.
  • Your browser tab now shows the project name, so several projects open at once are tellable apart.
  • The connectors grid shows placeholders while it checks what’s connected, instead of briefly showing everything as disconnected. If the check fails outright it says so and offers Retry, rather than quietly claiming nothing is connected.
  • The email that verifies your address no longer puts the code in the subject line, which was getting the message filtered as junk by some providers and blocking signups. The code is still in the body.
  • Filtering rows over the API with a null value is now refused rather than quietly meaning different things on different projects. Use the is operator to match nulls.
  • A table whose primary key was given a custom name no longer picks up a neighbouring table’s columns as its own, which could order a page of rows by the wrong column.
  • Messages sent through the API now appear immediately in an open conversation, instead of only after a reload.
  • When one of the AI agents fails to complete a tool call, it now tells you it failed rather than reporting success.

July 2026

Three releases. The middle one reorganised where your bot’s building blocks live, added Slack, and rebuilt onboarding. The last opened Paige up to the outside world with a public API.

New features

  • The Tools tab. Your database, storage, scheduled tasks, secrets, connectors, and logs have moved out of Settings into a tab of their own. Settings is now for configuring your project; Tools is for the machinery your bot runs on. Everything is where it was, one tab across. See the Tools tab.
  • Slack connector. Connect a Slack workspace and your bot can post to a channel — telling your team when a customer asks for a person, or when a big order lands. Sign in with Slack or paste a bot token, then pick a default channel from the dropdown. See Slack.
  • WhatsApp usernames. Claim an @handle for your business so customers can find you without knowing your number. Paige suggests handles based on your brand, shows whether Meta has reserved or approved yours, and can transfer one across from another of your numbers. See Connect your WhatsApp number.
  • SQL editor in the Database tab. Ask questions of your data that the table browser can’t answer. Read-only by default; flip the Write toggle to change data or schema. See the Database tab.
  • Saving customer media. Photos, PDFs, and voice notes customers send can now be saved to your project instead of ageing out of WhatsApp after a month. Off by default, with four modes — save nothing, save individual files by hand from Conversations, save everything, or let your bot decide. See Capturing customer media.
  • New onboarding: intro deck and a getting-started checklist. The popover tour that anchored tips to controls has been retired. New projects now open with a short six-slide intro — with walkthrough videos — covering prompting, the preview, testing on Paige Dev, connecting your number, deploying, and getting help. A checklist in the header tracks the same six steps as you complete them. Skip dismisses the intro; Replay intro brings it back. See the Quick start.
  • Workspace management moved into Settings. Create a workspace from the project-switcher dropdown, and manage it — members, permissions, invites, ownership — from Settings → Workspace inside any project that belongs to it. The project switcher now groups your projects by Personal and by workspace. See Workspaces.
  • Send a broadcast in batches. Release a big audience in waves instead of all at once: send a first batch now, watch how it lands, then release the rest yourself — all tracked as one broadcast. See Sending in batches.
  • One AI agent connection, many projects. Connect Claude, ChatGPT, or Codex once and let it work across several of your projects, each with its own permissions and its own default. You pick the projects on the consent screen, and you can add or remove projects later without reconnecting the agent from Settings → API → Connected agents. Workspace projects can now be connected too — by an owner or admin of that workspace. See Connect an AI agent.
  • Read your flows over the API. GET /v1/flows lists a project’s WhatsApp Flows and GET /v1/flows/{name} returns one with its full JSON definition, both under the Read flows permission. Until now that permission could be granted but did nothing — the API could create and update a flow, but never read one back. See Scopes.
  • A public API. Paige now has a documented REST API at /v1 — send messages, read conversations, edit files, deploy, manage flows and assemble broadcasts from your own systems. Create a key under Settings → API, choose exactly which permissions it carries, and browse every endpoint in the new API reference.
  • Webhooks, managed from the dashboard. Have Paige call your system when something happens — no code required to set it up. Create, edit, and delete webhooks under Settings → API, pick the events you care about (or name your own), and copy the signing secret, which is shown once and never again. See Webhooks.
  • Dynamic flows. A flow can now fetch live data while a customer is filling it in — the times that are genuinely free that day, their current order status, the products actually in stock. Paige stays static-first and only builds a dynamic flow when your request truly needs live data. A Dynamic badge and a live-data connection panel tell you which is which and whether the connection is healthy. See Dynamic flows.
  • Schedule a broadcast wave for later. When a broadcast is holding recipients back, you can now set the next wave to release at a time you choose instead of only sending it by hand. Pick how many and when, and Paige releases them within about 15 minutes of that time. See Sending in batches.
  • Auto-retarget quality-limit failures. Switch this on when you create a broadcast and Paige automatically tries again, about a day later, for the recipients WhatsApp blocked on quality or per-user messaging limits — the failures most likely to succeed on a second attempt. Off by default, once only, and cancellable. See Auto-retargeting quality-limit failures.

Improvements

  • Deploy now publishes flows that only existed in Paige. A flow you built before connecting WhatsApp is created on your number and published when you tick it in the deploy dialog, rather than needing a separate step. Per-flow failures are reported individually. See Deploy.
  • Templates the AI creates come with example values. Meta requires an example for every {{1}} placeholder; the agents now attach sensible ones automatically so a template isn’t rejected for the want of them. Give the agent real examples in your request and it’ll use those instead. See Message templates.
  • Interactive messages can carry a media header and a footer. Buttons and list menus can now open with an image and close with a line of small print.
  • “Cron Jobs” is now “Scheduled Tasks” everywhere — the same feature, named for what it does. See Scheduled Tasks.
  • Edit a database cell by double-clicking it — or tapping, on a phone. See the Database tab.
  • Pick from the tags you already use when you build a segment, with a contact count beside each one, and a warning when a tag you type matches nobody. See Segments.
  • A clearer rule about editing database rows. A table needs a primary key before its rows can be edited or deleted; older tables without one now offer an Add primary key button instead of failing quietly. See the Database tab.
  • The flow preview refreshes itself after a flow is republished, so you’re never looking at a stale copy.
  • Broadcasts appear in your per-agent credit breakdown in Settings → Usage.
  • A clearer payment-failure warning, with the 7-day deadline stated plainly and one email per failure rather than one per retry.
  • Your business profile’s industry is sent to Meta correctly — the list now maps to Meta’s own categories.

Fixes

  • Importing contacts no longer fails with a server error on Paige-hosted projects.
  • Resetting your preview no longer kills your live scheduled tasks.
  • New bots no longer crash on their first message.
  • Restoring a project from backup now re-enables table security, recreates sequences, and verifies the preview is reachable before reporting success.
  • Broadcast delivery updates are no longer dropped for campaigns whose name contains a colon.

June 2026

Broadcasts arrived — reaching many customers at once, rather than waiting for them to message you.

New features

  • Broadcasts. A new tab for sending an approved template to a group of your contacts. Build an audience, map your template’s placeholders to each contact’s own details, test it on up to three numbers, and schedule it. Customers who reply STOP are opted out automatically and excluded from every future broadcast. See Broadcasts.
  • Segments. Save an audience once — everyone tagged vip, everyone opted in — and reuse it on any broadcast. Segments describe who rather than freezing a list, so they stay current as your contacts change. You can also hand-pick specific people on top of the filters. See Segments.
  • The Broadcasting assistant. A chat agent on the Broadcasts tab that builds segments, drafts and submits templates, and assembles whole campaigns for you to approve. It can target people by a button they actually tapped in one of your bot’s messages — something the Segments form can’t do. It never sends anything itself. See the Broadcasting agent.
  • Import your contacts. Bring an existing customer list in from a CSV or by pasting numbers, so you can broadcast to people who haven’t messaged your bot yet. Numbers are validated, duplicates skipped. See Import contacts.
  • A safer deploy. Deploy now always syncs your table structure — new tables and columns — while copying a table’s data is a per-table choice you tick each time. Nothing is ticked by default, so a deploy can’t overwrite live customer data unless you ask it to. See Deploy.
  • Download a database table as CSV, Excel, or JSON — the whole table, or just the rows matching your current filter. See the Database tab.
  • Flows on mobile. The Flows tab is now on phones, with a swipe between your flows and the chat.
  • More than one Paige Dev number. Link a number, move it between projects, or take one over from a teammate. See Testing.

Improvements

  • Search a segment by name or number, not just by tag.
  • The interactive flow preview works on mobile.
  • Switching to Personal opens your most recent personal project rather than nothing.
  • You’re signed out cleanly when your session expires, instead of retrying forever.

May 2026

A staging-to-production release focused on smoother onboarding, trial-aware feature gating, clearer credit signals, and a richer in-app preview.

New features

  • Guided onboarding tour. New projects open with a contextual 7-step tour — chat, preview, Paige Dev test, connect WhatsApp, deploy, help. Each tip anchors to the relevant control and auto-advances when you complete the step. Click Skip tour to dismiss it permanently for that project. See the Quick start.
  • Open paid features during the trial. The 14-day free trial now opens the full product — Conversations, Broadcasts, Deploy, and bot runtime on your connected WhatsApp number. Gating only kicks in after the trial expires. Connecting WhatsApp through embedded signup is never gated. See Free trial.
  • Help Agent from the header. A new ? button next to Feedback in the header opens the chat sidebar straight to the free Help Agent, making in-app guidance a first-class entry point.
  • See Docs in the user menu. The account dropdown now links to the full documentation site so you can pop open the docs without leaving your current view.
  • URL buttons render in the in-app preview. Tap a cta_url button in the phone preview to open the destination inside the phone frame, with Close and Open in new tab controls. If a site blocks iframing, the preview shows an error state and keeps Open in new tab available. See Tap a URL button.
  • Try-it preview before you connect WhatsApp. The Try it, Inspect, and Debug controls in the Flows tab now work for projects that haven’t connected their own WhatsApp number yet. Paige falls back to the Paige Dev copy of the flow so you can preview straight away.
  • Try a test template on your Paige Dev tester. The Paige Dev card has a new Try now button that delivers a pre-built Meta template — with an embedded flow-trigger button — to your linked phone in one click. Rate-limited to 5 successful sends per linked number per rolling 24 hours. See Try a test template.
  • Faster signup with a warm Supabase project pool. Paige now keeps a small pool of pre-provisioned project backends ready, so new signups land in a fully working project instantly instead of waiting for provisioning.

Improvements

  • In-app low-credit warning and zero-balance gate. A persistent banner above the chat input warns you below one credit and stops new requests when your balance hits zero — already-streaming requests finish cleanly. The Top up button switches straight to Settings → Usage. See Low-credit warning and zero-balance gating.
  • Markdown tables in the chat sidebar. Long markdown tables emitted by the agents now scroll horizontally inside the sidebar instead of overflowing the layout.
  • Inline row editing restored in Settings → Database. Editing rows in place now sends only the columns you touched.
  • Project rename updates the project switcher. The dropdown in the header refreshes immediately after a rename.
  • Cleaner invitee onboarding. Invitees verifying their email land directly inside the workspace they were invited to, with access to the shared projects — no orphan personal project is created.

Fixes

  • Suspend cron now performs a backup and cleanly deletes the Supabase project, matching what the UI promises.
  • getFlowByRef falls back to matching by name when a flow name is numeric.
  • Credit balance overdraft is no longer possible without a warning.
  • The personal-number placeholder in the PaigeDev card has been replaced with the live linked number.