Skip to content

Join the Seedly owners community →

Docs

Changelog

Release history and platform updates for Seedly CRM.

Last updated

A record of major updates, new features, and improvements to Seedly CRM. The most recent changes appear first.


v5.8.0 (August 2026) - Backend guidance for your coding agent, and groundwork for outside integrations#

A documentation release. Nothing in the CRM behaves differently, there is no migration, and you do not need to redeploy for it to take effect.

No action required after you update. Take the new file and carry on. It changes what the coding agent working on your CRM knows, not what your CRM does.

Added#

  • The backend folder now has its own instructions for your coding agent. Your download already ships CLAUDE.md at the root, plus notes for the front end and several individual screens. The backend folder, convex/, had none, and that is where almost 1,800 files and every piece of business logic live. There is now a convex/CLAUDE.md, which your agent reads automatically whenever it works in that folder. It covers the layout, which folders hold what, and the rules that are easy to get wrong, such as never hand-editing the generated files and what the extension registries are actually for.
  • A warning your agent needed and did not have. The backend has two test suites with two separate configuration files, and the ordinary pnpm test runs only the first of them. So an agent that ran the tests and told you they passed may not have run the 161 security tests at all. The second suite has its own command, pnpm test:security, and the new file says so plainly.

v5.7.1 (August 2026) - The CRM takes add-on modules, and two billing faults that were costing you money#

The release where the platform stops being one fixed product. An add-on module installs into the CRM you already run and contributes into the builders you already use, rather than arriving as a separate app to keep in sync. Alongside that, two money faults worth reading about before you update: a wallet that read as topped up and never charged the card, and automations that could hand two live invoices the same number.

Action required after you update: two steps, and both are decisions only you can make, because both are about billing that was quietly landing on you. First, check for sub-accounts whose auto-recharge switch is on but was never configured; after this update those cards genuinely start being charged. Second, decide what happens to sub-accounts that have never had usage billing chosen for them. The CHANGELOG.md inside your download gives the exact commands, including a dry run that prints what it would change before anything is written. Nothing is migrated or rewritten by updating itself, and if you skip both, nothing breaks and no data is lost.

Added#

  • The CRM now takes add-on modules. A module can put ready-made workflows into your template gallery, attach its own context to a trigger you already fire so your existing automations can branch on information that did not exist before, add its own action nodes, add its own field types to your forms, and publish the wording of its own messages into your System Defaults catalog. A module declares the shape of a thing and the CRM still draws it, so theming, layout and keyboard behaviour stay yours.
  • An add-on can be sold as part of a plan. Plan features were a fixed list of the CRM's own modules, so there was no way to switch a purchased add-on on for one tier and off for another. Contributed toggles now appear in the plan editor grouped under Add-ons, so you can see which parts of a tier come from an add-on rather than the base product.
  • Automations now run when a customer accepts or declines an estimate on the page you sent them. They always ran when you marked an estimate accepted inside the CRM, but the customer clicking Accept, which is how most estimates are actually accepted, quietly triggered nothing. If you already have automations on estimate accepted or declined, expect them to start firing. That is the fix working, so review them before customers start receiving anything they send.
  • A deposit paid by card now creates the balance invoice, which previously only happened when you recorded the deposit by hand. You can also now request a deposit from a draft invoice and split it, which the backend supported all along with no button anywhere.
  • You can lift the SMS quiet hours for one location. Texts are refused outside 9 AM to 8 PM in the recipient's local time, which is right for anyone messaging consumers. A location whose customers are buildings has a legitimate after-hours message, so the floor can now be lifted per location, behind a typed confirmation, with a record of who lifted it.
  • Invoice and estimate templates can carry a service-type tag, which an add-on uses to suggest the right template on a job. Optional, and hidden until an add-on writes it.
  • Your download records the exact code it was built from, so two downloads of the same version are no longer impossible to tell apart.

Fixed#

  • Auto-recharge read as ON, never charged the card, and left you paying for the client's usage. Turning the switch on saved the switch but not the two settings beside it, so the wallet stored no top-up amount and no threshold. The Wallet card still displayed "$20 when balance drops below $5", because that screen filled those in for display only. The charge never fired, the low-balance send block was skipped, and the sub-account's messaging costs stayed with you. Read the action required note above before you update.
  • An invoice created by an automation could be given a number another invoice already had. The workflow steps numbered a new document by counting the ones already there, and a count goes back down when you delete something, so deleting one draft and creating the next left two live invoices carrying the same number. That is the number your customer quotes when they pay. Automations now take their number from the same sequence as the rest of the CRM. Existing numbers are not changed, so it is worth a look at anything your automations raised.
  • Google Sheets and Drive steps let you pick the file instead of pasting an ID. Click "Choose from Google Drive" and select the spreadsheet or folder. The step then shows the file name and the account that authorised it. This also narrows what the CRM can reach: Google grants access only to the files you pick, rather than to every spreadsheet in your account. Open each existing Sheets or Drive step once and choose its file again, or that step will report that the CRM has not been given access. The workflow editor flags the ones that need it, and steps writing to a sheet the CRM created keep working untouched.
  • A cluster of workflow faults. Google Sheets, Drive and Calendar steps failed with "No Google account connected" while the Google card said Connected the whole time, because the engine renewed access the wrong way. A step that failed was recorded as completed with the reason thrown away. Workflow settings could not be saved at all, for any setting or any workflow. Testing a workflow used up the contact's one real run, and the switch that would have released them could not be saved because of that same bug. The step list vanished every time you added a step. And palette steps could only be dragged, which a keyboard cannot do at all.
  • The Google connection card offered Gmail while Gmail was switched off, which matters beyond the broken button: Google's reviewers compare what your product shows against what it asks for, and a mismatch there can cost you an approval.
  • X could never be connected or posted to, because the CRM and the publishing service spell two platforms differently and the CRM sent its own spelling on every call. Social analytics skipped X and Google Business posts for the same reason. The connect popup now closes and returns you to the CRM instead of stranding you on the publishing service's dashboard, it works when you sign in on a branded domain, and error messages no longer name the publishing vendor to your clients.
  • The Time report showed only your own hours, so a manager opening it saw their own work and concluded the team had logged nothing.
  • A code editor was adding 1,300 pixels of blank page below itself, on any page carrying one.
  • Installing an add-on turned your own test suite and typecheck red, and sent every user to the add-on's first screen at sign in instead of their dashboard. Nothing was wrong with your CRM or the add-on.
  • Several billing corrections. Usage rebilling required a plan, so a sub-account without one was never rebilled. The Rates card understated two of its own prices. "My agency covers this client's usage" had a hidden third state. And a sub-account sending from your agency's fallback domain was still refused.

The release that opens up email. Campaigns can now be written as HTML in a proper three panel editor, every code box in the CRM became a real code editor, and campaign links go through your own tracking domain instead of a shared one. Alongside that, a footer fault that had been silently dropping your business address from invoices, receipts and password resets, a Send Now that could destroy an email you had written, and Google Ads reporting that had stopped working entirely.

Action required after you update: no commands are required this release. The CHANGELOG.md inside your download carries two optional repair tools, for a sending domain that was set up wrong. Most instances will never need either. If you are updating an existing copy rather than installing fresh, that same section lists five retired files to delete by hand, because the update helper never deletes anything.

Added#

  • Write a campaign email as HTML, in a three panel editor. Your code on one side, a live preview on the other, and a divider you can drag. You choose blocks or HTML when you create the campaign and it stays fixed, so a finished body can never be overwritten by an empty canvas. A step inside an automated sequence can be written in HTML too.
  • Every code box in the CRM is now a real code editor. The HTML block, the email layout editor and the custom CSS box get syntax colouring, bracket matching, line numbers and wrapping, in colours that follow your palette in light and dark.
  • Campaign links go through your own tracking domain. Click tracking rewrites every link through a tracking domain, and until now that was your provider's shared default. Setting up a sending domain now sets up a branded one alongside it.
  • Email layouts you build once and reuse, plus creating, sending and scheduling campaigns straight from the API.

Fixed#

  • Zoom meetings scheduled from a booking now show the correct wall-clock time. A booking on a Zoom-linked calendar created the meeting fine, but the time shown on Zoom's own screens (the pre-join lobby, the Zoom-side confirmation, the Zoom Meetings app) came out shifted by the difference between UTC and the calendar's timezone. A noon booking in Eastern showed as four in the afternoon. The customer's calendar invite from the CRM was correct all along, so this only affected what the customer saw when they opened the Zoom link, but that is where most people look, and the wrong time reads like a scheduling mistake on your end. Zoom's own API accepts a meeting time in two formats that must never be mixed, and the bridge was sending both. It now sends only one, so Zoom has one definitive answer instead of two. Existing Zoom meetings on your calendar are not touched; rescheduling one in the CRM is the fastest recovery for a wrong-time meeting already booked before this fix.
  • Your business address was missing from invoices, receipts and password resets. The two buttons that fill in the Global Email Footer wrote it in a shape that transactional mail silently discards, so those emails went out with no address block at all. Every footer configured before this release is affected, so open the field and check it after updating.
  • Google Ads reporting had stopped completely, and reconnecting did not help. Google retired the API version the CRM was calling, and a manager account cannot serve figures at all. Both are fixed, and a daily check now warns before a retirement takes reporting down again.
  • Send Now could destroy an email you wrote as HTML and send a blank one in its place. Save already refused to overwrite it. Send Now did not.
  • Editing the Terms and Conditions block could destroy your text, collapsing a multi paragraph block into one run the first time you typed in it.
  • A cancelled recurring invoice still said it was generating invoices, because the screen read the settings saved on the invoice rather than the series that is actually running.
  • Several ways an unsubscribe could be lost or ignored, including merging two contacts, a drip that kept sending after someone opted out, and a preference centre that unsubscribed people who only pressed Save.
  • The public checkout pages were unreadable under a dark palette, on the two screens your customer sees while paying.
  • Content in an email block could reach your recipient as working code, and a preview pane could run without the protection every other preview uses.
  • You now get told when Google Ads conversion tracking has quietly stopped, rather than seeing the numbers go flat and reading it as a slow month.
  • The Google card said Connected while your Google connection was dead. It reported whether a connection existed rather than whether it still worked, so Analytics, Ads reporting, Business Profile and Search Console could all be returning nothing behind a green tick. It now says Reconnect needed, tells you what Google actually said (an expired sign in is fixed by reconnecting, a switched off API or a billing problem is not), and warns you on the dashboard instead of only on the settings screen.

v5.6.1 (August 2026) - Selling plans, and getting paid for them#

Every purchase through a public sale link was failing before it reached Stripe, assigning a plan by hand could never create a subscription, and a client who did get through could not sign in because their welcome email never sent. All three are fixed. Alongside them, renewals that had quietly stopped are chasing payments again, subscriptions can be designed in the invoice builder, estimates can be signed in person and paid on the spot, and sticky notes work again.

Action required after you update: this release needs commands run against your live database. The exact commands, in order, with what each does and what goes wrong if you skip it, are in the CHANGELOG.md inside your download under 5.6.1. Read that section before you update, not after.

Fixed#

  • Selling a plan through a public sale link returned an error. If you sell plans with a sale link, no purchase could complete. The checkout failed before the customer ever reached Stripe's payment page. Assigning a plan from the admin side failed separately, for its own reason, so neither route into a subscription worked.
  • A client who bought a plan could never sign in. The purchase went through and the money arrived, but the welcome email carrying their sign-in link never sent, so the account they had just paid for was unreachable.
  • Renewals and failed payment chasers stop after a Stripe version change. Subscriptions stopped renewing and failed payments stopped being chased, with nothing to indicate it had happened.
  • Every way a workspace gets created now sets it up the same. A workspace made through one route could come out configured differently from one made through another, so behaviour depended on how it happened to be created.
  • A paused campaign could be marked Sent without sending anything. Pausing a campaign at the wrong moment left it recorded as sent while no message went out.
  • Sticky notes on the automation canvas broke four ways at once.
  • Accepting an estimate could zero it out.
  • Refreshing a workspace page no longer bounces you to the dashboard.

Added#

  • Subscriptions you can design in the invoice builder, plus fixes to five separate scheduling faults.
  • Estimates can be signed in person and paid on the spot, rather than only by sending them.
  • The foundations add-on modules plug into. Nothing changes today. It ships now because the seams have to exist in the version you are running before an add-on can install into it.

v5.6.0 (August 2026) - Ad conversions that actually arrive, and a delete that really deletes#

Your Meta and Google ad conversions were being discarded before they ever reached the ad platform, and now they arrive. Deactivating or deleting a client account finally takes its public pages offline, and there is a permanent delete that really deletes. Alongside that: priced service bookings collect the money, you can cover a client's usage costs yourself, and a scale pass aimed at sub-accounts with 200 or more users, plus a long correctness sweep across Stripe, invoices, e-signing, forms, and ad tracking.

Action required after you update: this release needs commands run against your live database. Two of them change what past months report, two work through your records in batches and have to be re-run until they finish, and one treats a dry run as the default. The exact commands, in order, with what each does and what goes wrong if you skip it, are in the CHANGELOG.md inside your download under 5.6.0. Read that section before you update, not after.

Added#

  • You can permanently delete a client account, and it really deletes. Delete only ever deactivated. Deleting is now two deliberate steps: deactivate, which is reversible, then a separate permanent delete that shows you how many records it will destroy, asks you to type the account name, and removes the account row last.

  • Groundwork so add-on modules can install into a running CRM. Nothing changes today. With no module installed every connection point is empty. It ships now because the seams have to exist in the version you are running before an add-on can install into it.

  • Paid service bookings actually take payment. Before this, a service with a price on it booked like a free one and nobody was ever charged. A priced service now sends the customer to checkout, holds the slot while a bank payment (ACH, SEPA, Bacs) settles, releases it immediately if that payment fails, and closes the payment page when a booking is cancelled. A free booking still confirms the way it always did.

  • Cover a client's usage costs yourself, per client. A new per-sub-account setting in Admin lets your agency absorb a client's usage instead of billing it through, so you can run a client on an all-in retainer without them ever seeing a usage line.

  • Ad tracking credits the ad that produced each payment. Revenue is now attributed at the deal level rather than to whatever touch happened last, conversions are dated when the money moved rather than when the automation ran, and the amount that reaches Google Ads and Meta is the real one. Conversions also fire from forms you embed on your own site, and dynamic number insertion can be switched on without help.

  • Your web forms collect text-message consent the way carriers require. Marketing consent is captured separately from transactional consent, declining the marketing box actually stops marketing, and what the person agreed to is recorded as a structured record you can produce later.

  • Raise your own workspace send limits. The sending caps, the per-workflow daily execution cap, and the per-user hourly composer limit are all adjustable from settings now instead of being fixed.

  • Bulk team invites, and an honest "email not sent" state. Invite several people at once, and when an invitation email cannot be delivered you are told, rather than the invite sitting there looking sent.

  • Searchable team-member pickers. Assign-to, @mention, and member pickers are searchable and no longer silently drop people once a workspace gets large.

  • Archiving an email sending domain is reversible. Archive one by mistake and you can bring it back instead of re-verifying from scratch.

  • Form notification emails name the submitter and link the signed copy. The email you get when a form comes in now tells you who filled it in and links straight to their signed record.

  • The Stripe Connect panel tells you what Stripe is still waiting for. Instead of a bare "not ready", the panel names the outstanding requirement, adds a Refresh status button, and passes the client's email to Stripe so your dashboard shows who each connected account belongs to.

  • An optional replay-protected webhook signature. Outbound webhooks can now carry X-Webhook-Signature-V2 alongside the existing header. It is additive, so nothing you have built breaks; see the webhooks guide for how to verify it and when to move over.

  • The invoice and estimate editors explain the opportunity link. The editors now say what linking a deal actually does for reporting instead of leaving it to guesswork.

Changed#

  • Transactional email is no longer blocked by a marketing unsubscribe. Someone who opts out of your marketing still receives their receipts, booking confirmations, and document links.
  • Marketing email sends on the marketing sender and stream, and bulk sends carry the required commercial-email footer.
  • Scheduled social posts use the client's timezone, not whatever timezone your browser happens to be in, both when scheduling and when reading the time back.
  • Sequence active hours use the sub-account's timezone as well.
  • Disconnecting Stripe now asks you to type DISCONNECT, connecting or disconnecting a client's Stripe requires your second factor, and both are written to the audit log.
  • Stripe's own error messages now reach you. The Connect buttons used to replace a specific Stripe error with a generic failure.
  • Service prices are stored in whole currency units. Imported prices in yen, won, and other whole-unit currencies were 100 times too low.

Fixed#

  • Your Meta ad conversions were being thrown away. Meta requires a page address on any conversion that says it came from a website, and silently drops the ones that arrive without it. It does not return an error: it replies success and reports the event as received, so from the CRM side everything looked healthy while nothing arrived. Form conversions and the revenue conversions from the Customer Paid workflow are both fixed. Conversions discarded before you update cannot be recovered, so expect your Meta numbers to step up from the update rather than fill in backwards.
  • Deactivating a client account now takes its public pages offline. A deactivated account kept serving its forms, booking pages, documents and estimates to anyone holding the link. Deactivating looked like an off switch and was not one. Unsubscribe and preference-centre pages deliberately keep working, because recording an opt-out must never be blocked.
  • Meta conversion tracking can be set up without connecting a Facebook Page. The setting used to hang off a Page connection that could not be completed, so the card looked available and was not. Disconnecting a Page also no longer throws your conversion settings away with it.
  • The Meta test event proves itself. It sent no customer information, which Meta rejects, and reported success on any reply rather than on Meta accepting the event. It also has to describe itself as a website event or it never appears in Meta's Test Events tab at all. You can now edit the Pixel ID and test event code without re-pasting your access token.
  • Google Ads conversions carry the event source, and click IDs stop breaking uploads. Attaching hashed customer identity to a conversion that already had a click ID turned a working upload into a rejection on accounts that have not signed the enhanced conversions terms, so the better-known lead failed while the anonymous one succeeded.

Bookings and payments

  • A booking whose payment page could not be created no longer strands the customer on a spinner.
  • The customer is no longer told two opposite things about the same booking.
  • A bank payment that landed after the slot was released no longer takes the money anyway.
  • Cancelled bookings no longer clog the payment sweeper.
  • A free service booking used to send the customer nothing at all.
  • Card payments were being recorded as failures by a routing mistake.

Invoices and revenue

  • Invoices could end up fully paid and never marked Paid, silently.
  • "Mark as paid" now records the payment in the payments ledger, so cash, cheque, and bank-transfer revenue stops being invisible to reporting.
  • Refunding part of an invoice no longer erases the rest of it from your revenue.
  • A lost chargeback now updates the invoice instead of leaving it reading Paid.
  • A paid hosted Stripe invoice now marks the CRM invoice paid.
  • A payment against a voided invoice no longer un-voids it.
  • A percentage late fee could go negative on an over-paid invoice; a late fee on a partly-paid invoice could break its pay link.
  • The pay link is cleared when a checkout expires or is partly paid, so a customer cannot be charged an old total.
  • Editing a sent estimate's amount now returns it to draft, so the client cannot accept the old figure.

Forms, documents, and e-signing

  • Public form submissions no longer fail under load on a busy or embedded form.
  • Signing a form by drawing your signature works again.
  • Long blocks of text on a form keep their paragraphs, and embedded forms follow the width you set and survive a WordPress save.
  • Signed documents are more complete and harder to tamper with: each signer's own signature image is kept, views are logged to the certificate, a declined document is guarded, and the certificate hash is real.
  • A paid "collect on sign" document now records its payment instead of stranding the signature.

Large teams

  • The inbox list and its search now scale to a full conversation history rather than only what had been loaded.
  • The unread badge is accurate again on large teams.
  • The audit log pages properly and reaches your full history.
  • Large inbound ring groups no longer silently drop the caller.
  • The outbound caller-ID picker is scoped to your own sub-account.
  • Task-submission and workflow "notify everyone" alerts no longer write to the database once per person.
  • Busy workspaces no longer slow to a crawl from internal usage counters.

API

  • By-id and sub-resource routes under the API work again; they had been unroutable.
  • The total count in a response is the real total, not the size of the page you asked for.

Calendar, integrations, and messaging

  • Outlook calendar sync now works when you connect Outlook per user, at parity with Google.
  • Saving one integration no longer wipes another on the Admin integrations screen.
  • A dead Facebook or Instagram page token now flips the connection to "needs reconnecting" instead of failing quietly, and inbound Meta messages reach the right client with working read receipts.
  • Deleting a scheduled social post removes it at the provider too, and a partial publish is reported instead of silently half-succeeding.
  • A failed outbound email in Conversations now tells you why it failed.
  • Soft-bounced email retries actually re-send.
  • Three workflow wait-and-resume timing defects are closed.
  • Deleting a team member no longer leaves their calendar availability behind.

Texting registration

  • Brand registration sends your business details in the format the carriers expect, the campaign step registers instead of failing on the opt-in wording, a campaign rejected by a carrier can be re-submitted, and your privacy policy, terms, and consent wording are sent with the campaign.
  • A web-form business no longer declares a text-keyword opt-in it does not use.

Setup and safety

  • The guided setup companion walks you through putting your site online, writes your web address to the backend so sign-in works, and no longer creates two different values for one shared secret.
  • The setup guide picks up five corrections buyers reported, and now says that Stripe needs two webhook destinations rather than one, and exactly which events each needs.
  • The test suite that ships in your download no longer fails on a fresh copy.
  • Deleting a sub-account now cleans up its Stripe artifacts, in the right Stripe account, even when a restricted account would previously have blocked it.
  • You can no longer create a plan before connecting Stripe.

Security#

  • Every known security advisory in the packages Seedly is built on is cleared, including the sign-in system (closing ten published advisories) and the image-processing library.
  • A client sub-account with no Stripe of its own could read and write to the agency's Stripe; that boundary is now enforced on every webhook payment and refund event.
  • One client could connect or disconnect another client's Stripe.
  • Three Stripe screens could be pointed at an outside address; that redirect is now constrained.
  • Names and titles typed by other people were being dropped into emails without escaping.

v5.5.6 (July 2026) - Client domains, signed forms, and phone notifications#

Point each client's own domain at their public pages and email links, turn any form into a signed legal record, and get real push notifications on your phone. Plus brand fonts, form SLA tracking, and the largest correctness sweep in the product's history.

Action required after you update: this release needs four commands run against your live database, or five if you connected Gmail or Google Calendar before this version. They fill in new lookup columns on data you already have. Skipping them does not crash anything, which is what makes it easy to miss: social DM threads, company contact counts, daily cost charts, and Stripe charge history simply read as empty or stale for older data. The exact commands are in the CHANGELOG.md inside your download under 5.5.6.

Added#

  • Give each client their own domain for public pages and email links. Point a client's domain, or a subdomain like go.theirbusiness.com, at their sub-account and every public link for that client rides it instead of your platform address: forms, booking pages, invoices, estimates, documents, the client portal, QR codes, review requests, and the unsubscribe and preference links in their marketing email. Aligning the unsubscribe link with the sending domain is also something inbox providers reward. A domain stays inert until it is verified, so a typo cannot break a live link, and a client's own admin can set theirs up without any access to your hosting account.
  • Turn any form into a signed legal record. Switch on Signed Submissions, add a signature field, and each submission becomes a proper signed record: the person sees the terms and signs by drawing or typing, an exact copy of what they agreed to is frozen at that moment, and the record carries a tamper-evidence code plus an audit certificate of who signed, when, and from where. The signer gets a permanent link to their own copy, and signed records are protected from data-retention cleanup so an old waiver is never quietly aged out. Deleting a form that holds signed records now makes you type DELETE to confirm.
  • Get phone notifications for incoming messages. Real push notifications on phones and desktops for new texts, email, Facebook, Instagram, and live-chat messages, with the browser closed and the phone locked. Each person enables it for themselves and quiet hours are respected. An assigned conversation notifies the assignee; an unassigned one notifies the sub-account's members, so a new lead is not left sitting because nobody had claimed it yet. iPhone requires adding the site to the Home Screen first.
  • Add your own brand fonts, and use them everywhere. Add up to four Google Fonts by name and they appear at the top of every font picker across the account, render on the builder canvas as you design, and load on everything you publish: email, live form embeds, and your booking, document, invoice, and estimate pages, which previously did not load custom fonts at all.
  • Form submissions count toward your SLA response targets. A new form lead starts the same response clock as an inbound text or email, with its own target under Conversations, Tracking. A human reply on any channel stops the clock; auto-responders do not.
  • Share a review as a picture, not just text. Sharing a review to social now builds a branded review card image to go with it.
  • Create a new contact right from the new-message screen, prefilled from what you typed, without leaving to Contacts and back.
  • Send a bulk text or email to a whole smart list, not just the page of contacts you can see.
  • Make any form full width with one switch, which is what you want when the form sits in a full-width band on your site.
  • Rotate the Closebot callback address yourself if it ever leaks.
  • Reset a client's Outlook calendar connection from the agency side.
  • Add a spam check to your review-request feedback widget.

Changed#

  • Connecting Google no longer starts syncing your inbox automatically. Gmail sync now starts off and you turn it on yourself, with a confirmation that explains what will happen. Connecting Google just for calendar conflict checking no longer pulls your whole inbox in as a side effect.
  • Two-factor authentication moved into the Security box on the account screen.
  • The Conversations inbox opens on All instead of Mine.
  • Google connections clearly show when they need reconnecting.
  • The per-line Tax field is gone from the estimate builder, which was a source of confusion against invoice-level tax.
  • Split-test steps are checked before a workflow goes live, so branch percentages that do not total 100 are caught at publish instead of quietly rebalanced at send time. Branching steps also gained an "On disable" choice.
  • Heads-up for SendGrid users: your event webhook now has to be signed, or delivery tracking reads 0%.
  • Call-transcription cost updated for the newest transcription model.

Fixed#

This release closed a very large correctness and isolation sweep. The themes:

  • Account isolation. Pending invitations no longer show across the wrong client accounts, a brand manager stays inside their own brand (including for provider settings), automations only touch records in their own client account, Facebook and Instagram messages always reach the right client, and public pages and endpoints are better protected.
  • Money. Refund and invoice math stays exact, per-line discounts on an estimate actually come off the total, discounts carry through, estimates and recurring invoices bill the right amount, billing math is exact in non-US currencies, and refunds, late fees, and pay links are handled more carefully.
  • Reporting. Reports no longer drop the last day of the range you pick or undercount recent activity on busy accounts, trends and exports show real numbers, revenue and engagement totals count correctly, contact list counts and daily digests are exact, and the busiest-hours chart in Conversations reporting shows again.
  • Workflows. Sequences advance past the first step, sending windows that cross midnight work, splits that wait and rejoin no longer send twice, steps that can fail let you route the failure, a deal moved to a new stage lands in the right position, and a test run stays a test instead of firing real automations.
  • Messaging and calls. Texts respect quiet hours, spending limits, and consent; calls, recordings, and AI call grading are accurate; missed CallRail calls and voicemails notify your team; calls answered on a cell phone show up in reports; and phone numbers move cleanly between clients.
  • Forms. Content is cleaned on the server rather than only in the browser, embedded forms show up on WordPress and stop flashing a tall empty box, side-by-side fields stack neatly on phones, the builder canvas shows the form at its real width, and signing on a phone puts the ink where your finger is.
  • Data handling. Contact import, export, and erasure requests are handled safely, deleting data cleans up every stored file that came with it, and old notifications are cleaned up without starving reminders.
  • Scale. The CRM stays fast and never hits a size limit as an account grows, calendar conflict checks and booking pages stay fast on large accounts, and one-time setup and import jobs finish.

v5.5.5 (July 2026) - Connect your website to your CRM#

Wire an outside website's forms and purchases straight into the CRM, plus a batch of forms and email-sending fixes. If you use inbound webhooks, the webhook fixes here are worth applying.

Added#

  • Prefill a public form from the link. A new per-form switch (off by default) lets a link fill in a form's visible fields on arrival, so a known contact lands with their name and email already filled. They still review and submit.
  • Send a workflow notification as an email. The Internal Notification action gained an "Also send as email" toggle, so a "notify me" step can land in your inbox, not just in-app.
  • Redirect people after a double opt-in confirmation. A confirmation form can send someone to a page you choose after they confirm, for example your email-preferences page.
  • See the last requests an inbound webhook received. The Inbound Webhook trigger now shows the most recent payloads it got, with each field as a copyable path, so you can build the workflow against a real request instead of guessing field names.
  • Grandfathered plan pricing. A plan can keep older Stripe products and prices alongside its current one, so clients still billed on an older price still match the plan.
  • An alert when a payment matches no plan. A plan-sized payment that does not match any plan now raises a notification instead of being skipped silently, so nothing goes unfulfilled.
  • Edit a client's recurring task checklist from the Tasks screen. Open a client's project and add, edit, remove, and reorder the checklist that runs each billing cycle.
  • Duplicate a recurring task to copy its content, assignees, and schedule.

Changed#

  • The API no longer creates duplicate contacts. Posting a contact with an email that already exists now updates that contact instead of adding a second one.
  • Plan tasks fire for subscriptions created outside the checkout link (for example one you assign directly in billing), not just the public sale link.
  • Recurring task editing opens in a roomier side panel with a proper assignee picker.
  • Share a brand's verified sending domains with its sub-accounts from the Sending Rules screen.
  • The Sender Fallback panel shows the full stack - the domain actually sending, plus the inherited brand or agency fallbacks.
  • A new email domain's purpose auto-fills from its name (a "t." subdomain for transactional, "m." for marketing), with an override.
  • Form submissions show up in the Conversations inbox as a new message, so leads land in the same place as your calls, texts, and email.
  • Checkbox fields have a separate "Checkbox Text" for the sentence next to the box, apart from the short label used in reports.

Fixed#

  • Each inbound webhook now triggers only its own workflow. Every inbound-webhook workflow has its own URL, but sending to one URL used to run every inbound-webhook workflow, which could produce empty duplicate notifications. Now one URL runs one workflow.
  • Inbound webhook trigger URLs now actually work. The URL shown in the builder was returning a "not found" before, and correctly signed requests were being rejected. Both fixed.
  • Inbound webhooks find the contact by email, so a webhook carrying an email creates or updates that contact and the workflow's tag, task, and notify steps have someone to act on.
  • Consent submitted on a form is now recorded on the contact.
  • Archived brands no longer appear in the account switcher (still in Admin if you need to restore one).
  • A field moved below the submit button no longer shows twice on a public form.
  • Client forms and notifications send on your agency's verified domain even on a sub-account that has not set up its own, so they no longer silently fail to send.
  • A verified domain can send both transactional and marketing email - the purpose is a preference now, not a hard block.
  • Embedded forms redirect the whole page after submit, not just the little form frame.
  • Form dropdowns use your brand color for the hovered and selected option.

v5.5.4 (July 2026) - Sell plans and auto-create client tasks#

The biggest update in a while. Nothing here is required for an existing install, but a couple of the fixes are worth applying.

Added#

  • Sell a plan from a public checkout link that collects your buyer's business details (name, contact, email, phone, website, address) before they pay, so the new workspace is created already filled in instead of just the card email.
  • Client tasks are created automatically when a plan is paid: the first payment runs a one-time onboarding checklist and sets up a recurring checklist, and every renewal re-creates that checklist with due dates based on the actual payment date. You build the whole flow visually with a new "Plan Purchased" trigger and an "Apply Task Template Set" action.

Changed#

  • Plan upgrades and downgrades now take effect at the end of the billing period instead of switching mid-cycle with a prorated charge. The billing screen shows the queued change and lets you cancel it before it applies.

Fixed#

  • A limited-access role (like a "Tasks Only" role) no longer crashes the dashboard.
  • The Admin Plans page no longer hides itself behind an empty category when you create your first category.
  • The Invite User role dropdown now lists a sub-account's custom roles.
  • The Create Role and Settings and Access tab bars no longer stretch full-width.

v5.5.3 (June 2026) - Mobile follow-up#

Nothing here is required for an existing install.

Fixed#

  • On a phone, the green "Voice Calling" button now sits in the bottom-right corner instead of the top bar, so it is easy to reach with your thumb. Desktop is unchanged.

v5.5.2 (June 2026) - Mobile polish#

A couple of small mobile fixes. Nothing here is required for an existing install.

Fixed#

  • On a phone, the floating call dialer now stays pinned to the bottom-right corner. If you had dragged it somewhere on a desktop, that saved position could previously leave it off-screen on a small screen, and on very narrow screens it could run past the edge. It now sits neatly in the corner and sizes itself to fit.
  • The "Privacy blur" button is now hidden on phones. It is a desktop tool for screen-sharing, so it no longer crowds the top bar on small screens.

v5.5.1 (June 2026) - A spam-call blocker for your phone numbers#

Adds a strong new spam-call blocker, plus a few fixes. Nothing here is required for an existing install.

Added#

  • "Require key press to connect" on a phone number (Settings, Integrations, Telephony, Numbers). When it is on, any caller who is not already a saved contact has to press a short code on their keypad before the call connects, which stops robodialers cold. Saved contacts ring straight through. It is free (no paid add-on), and you can leave the older spam-screening toggle off when you use it.

Fixed#

  • The inbound spam gate is now more forgiving and more reliable: the keypad challenge gives callers a longer window and a few tries before going to voicemail, a caller who passes is no longer occasionally hung up on, and a caller whose contact was moved to trash is correctly treated as unknown at the gate.
  • The three-dot "Move to Trash" on a contact row now works. It previously did nothing; only the multi-select checkbox delete worked.
  • Settings, Access: the Users / Roles / Teams / Notifications tab bar now hugs its tabs instead of stretching a border across the page, and the Pending Invitations list has a bit more breathing room above it.

v5.5.0 (June 2026) - Sprout: a friendly guided setup#

Setup tooling for new installs. Free for everyone who owns Seedly.

Standing up your own copy of Seedly is now a guided experience instead of a checklist of manual steps.

Guided setup#

  • Meet Sprout, a friendly setup companion. Run one command and Sprout walks you from a fresh download to a live CRM: it checks your prerequisites, helps you create your accounts and provision the backend, walks you through picking and connecting your providers, points your domain, and gets you through A2P registration. You stay in one place the whole way, and you connect providers in the dashboard rather than pasting secrets into a terminal.
  • One command to create your first admin. A single bootstrap command deploys your backend, generates and sets your secrets, and creates your first agency and admin account. There is no more toggling a sign-up gate on and off to sneak the first account in. It is safe to re-run and will not touch an install that already exists.
  • A setup doctor checks your install. Run one command to confirm your environment is configured correctly: the right values are set on both your test and live backends, secrets are in the correct format, and your deployment is reachable. It tells you what to fix and never prints your secret values.
  • A secret generator. One command prints the exact set of secrets Seedly needs, in the right formats, with separate values for your test and live environments.
  • Smoother updates. Pulling in a Seedly update no longer drops you into confusing merge conflicts on auto-generated files.

v5.4.0 (June 2026) - Forms, tracking, messaging, and a broad fixes wave#

Free for everyone who owns Seedly.

A wide release of new capabilities and fixes across forms, tracking, messaging, telephony, and white-label.

Forms and analytics#

  • Form analytics now show a real average completion time, measured from how long people actually take, instead of a placeholder.
  • Send your form leads to your ad platforms automatically. Form submissions can now fire Google Analytics 4 conversions and Meta conversions, so your ad reporting and optimization see your leads.
  • The Rating field's "Numbers" style now shows real number cells in the builder, matching the live form, defaulting to a 0-5 scale, with a left or center alignment option.
  • Clearer wording on the Google Ads form-tracking setting so it is obvious conversions only send when you have the toggle on.

Tasks#

  • Export your task time tracking to CSV from Tasks for reporting and payroll.

Messaging and campaigns#

  • SMS sequence campaigns now send. Drip SMS steps that previously did nothing now deliver as intended.
  • Smart (filter-based) lists now reach the right people, with accurate member counts shown on the list. A Smart list that used to quietly send to nobody now resolves to its real audience.
  • Accurate filter counts on Conversations and Appointments.

Telephony and integrations#

  • Telnyx A2P brand import and real Telnyx phone-number pricing, so you can register and buy numbers with correct, live pricing.
  • The Google Sheets workflow step now maps your column headers to the right cells when it appends a row.

Contacts and calendar#

  • Pick an appointment template right in the create-contact dialog.
  • The Outlook calendar connection stores each event's ID in its own field so events sync back and forth reliably.
  • Stronger privacy compliance: erasing a contact now also clears five additional places their personal data was stored, so a delete really removes everything.

White-label and branding#

  • Public invoice, estimate, document, review, and customer-portal links now show your brand in the browser tab, not Seedly's.
  • Prebuilt email templates now use safe placeholder links instead of example.com sample URLs, so a template you forget to edit will not point customers at a dummy address.
  • A clean, neutral white-label sign-in screen.
  • Removed the dead "Search…" boxes on the Reputation, Invoices, Subscriptions, Users, Roles, and Teams pages. Those pages have no text search behind them, so the boxes never did anything; with them gone, you see only the filter dropdowns that actually work.

Permissions and cleanup#

  • Staff accounts created during sign-up now get Dialer, Tasks, and Call Reports access out of the box, instead of those core features appearing locked.
  • Removed a Wallet "Refresh" button that did nothing, since the balance already updates on its own.
  • Renamed the agency privacy toggle from "Demo mode" to "Privacy blur" so its purpose is clear: it blurs personal data on screen for demos and screenshares.

v5.3.0 (June 2026) - AI call grading, calling reliability, and accurate rebilling#

Free for everyone who owns Seedly.

AI#

  • Connect your own OpenAI, Anthropic, and AssemblyAI keys. AI now runs on whichever provider you configure, so you are not locked to one, and each provider's usage is billed correctly.
  • AI call grading and coaching: recorded sales calls can be transcribed with the speakers separated, then scored against a rubric you set, so reps get a grade and coaching notes. Choose to grade outbound calls, inbound calls, or both; voicemails are never graded.

Automation & Workflows#

  • The Invoice Paid trigger can now fire for specific products only: pick one or more products and the workflow runs just for purchases that include them, alongside the existing tag and amount filters. Leave it blank to keep firing on every paid invoice.
  • A trigger's type is now locked in once you drop it on the canvas. The settings panel shows the type read-only instead of an editable dropdown, so a placed trigger can no longer be accidentally switched to a different type (which would have quietly dropped its filters). To use a different trigger, delete the node and drag in the one you want.

Reputation#

  • Replies you have already posted to your Google reviews now import when reputation syncs, and the reviews list shows whether each review has been replied to.
  • Connecting reputation lists every Business Profile location with its address so you can pick the right one, and reviews now load correctly for profiles that were previously failing.
  • You can connect multiple Google Business Profile locations to one account. Each location syncs and tracks its own reviews, and you can choose which connected business a review request points to from the Smart Gate, the Send Review Request dialog, and the dashboard's location filter.
  • Review request links now come from your connected Business Profile directly, so a service-area business (which does not appear in a map search) gets its own correct review link instead of a similarly named business. Re-selecting a location refreshes its link.
  • A new switch lets you turn the Smart Gate off. Leave it on to route feedback through the gate, or turn it off to send customers straight to your chosen review page.
  • Clean up reviews from the wrong profile: disconnecting a location offers to delete the reviews it brought in, and a per-location list lets you remove any left over from a profile you already disconnected.
  • Embed the Smart Gate on your own website with a Copy embed code button, so you can collect and route feedback from your site, not just from review requests you send.
  • Share a review as a social post: it opens the social planner with the review content prefilled instead of an empty composer.

Email & deliverability#

  • SendGrid open, click, and bounce events record correctly again. A signature mismatch had been causing every event to be rejected, which left email analytics blank. The email domain settings also now warn you when event tracking is switched off on SendGrid's side.
  • Heading blocks in the email builder render as clean text instead of showing raw HTML.

Voice#

  • Inbound numbers can screen callers to cut down on spam and robocalls, asking an unknown caller to confirm before the call rings your team. Turn it on per number.
  • Browser calling is more reliable: each deployment now runs its own calling app (fixing a case where a shared setup could break live calls), and a caller-ID number is freed the instant a call fails instead of staying stuck as "in use".
  • Call tracking is more accurate: conversions only count a genuine answered call, and only once; rep credit is consistent between the leaderboard and call grading; and an inbound call answered on a rep's cell or desk phone is now credited to them.
  • The Call Report lets you click any row for the full call detail (transcript, recording playback, and the grade breakdown), and the Date and Rep columns now display correctly.
  • When you own more than one number, drag to reorder them; the one at the top is your primary number for outbound texts.

Billing & rebilling#

  • Every channel now bills at its true cost: inbound calls and texts cost less than outbound, recordings bill at the lower storage rate, and each passes through at your markup. Voice and AI markups now apply correctly.
  • Inbound billing is now included in each provider's Rebill toggle instead of separate switches, so turning on Rebill for a provider covers its inbound usage too.
  • You are no longer charged for inbound email received on SendGrid, which is free to receive; inbound email on Postmark still bills.
  • Telnyx now bills at its own cheaper rates instead of Twilio's, across direct sends, booking and reminder notifications, and campaigns, and inherits your Voice and SMS markup.
  • The customer billing tab shows only the final rate a customer pays, with a clear label for each charge. Your underlying cost and markup are never shown to them.
  • Inbound spam screening now bills through your plan, and a brand admin controls who can turn on the paid screening.
  • Billing data is strictly isolated per account, so one sub-account can never read or change another's usage, rates, or wallet.

Campaigns#

  • Broadcasts now respect their Active Hours window: a send scheduled outside the window waits and shows a Deferred status instead of firing late or being skipped.

Conversations#

  • A failed SMS now shows a plain-language reason instead of failing silently, and the composer warns you before sending a text that would land inside the recipient's quiet hours.

Forms#

  • Form submission notification emails now include every field the contact submitted.

General#

  • Lists with checkboxes support Shift+Click to select a range of rows for bulk actions.
  • Demo mode now hides customer personal information across many more screens, including integrations, billing, the dialer, reputation, account and admin, and the message composers, for safer screen-sharing and recording.
  • The app's browser tab title and favicon are neutral out of the box, so you can white-label your instance with your own brand.

v5.1.0 (June 2026) - Social module restored, follower growth, contacts polish#

Free for everyone who owns Seedly.

Social#

  • Scheduling and analytics now work again after our social provider rebranded its API (the change had quietly stopped scheduled posts from publishing and left the analytics dashboard blank)
  • Scheduled posts publish reliably, posts with images keep their image, and editing or rescheduling a post now takes effect
  • The analytics dashboard, Best Time to Post, and Followers count all populate again
  • New follower-growth chart backed by a daily follower snapshot, so you can see how each account grows over time

Contacts#

  • Bulk Add Tag: select multiple contacts and tag them in one step, with the option to create a new tag inline
  • Auto-created guest contacts (placeholders for unknown inbound callers and texters) are now tinted so they are easy to spot and tidy up

v5.0.2 (June 2026) - Inbound calling, fixed end to end#

A patch release. Free for everyone who owns Seedly.

Fixes#

  • Calls from a number that is not yet a contact now ring through instead of being rejected as busy. New callers are saved as a contact automatically.
  • Voicemail now works end to end: when no one answers, the caller hears your greeting and can leave a message, and that message is recorded, transcribed, saved to the contact's conversation, and announced with a New Voicemail notification.
  • Call recordings are now saved and play back inside Conversations. (Previously the phone provider captured them but they were never pulled into the CRM.)
  • A call that only reaches a cell phone's voicemail is now logged as missed instead of answered, so your call stats are accurate.

New#

  • Voicemail email forwarding: turn it on in Settings and new voicemails are emailed to your team with the transcript and a link to listen.
  • A one-time import is available to pull recordings from earlier calls into the CRM (see the Developer changelog for the command).

v5.0.1 (June 2026) - Inbound calling fix#

A patch release. Free for everyone who owns Seedly.

Fixes#

  • Inbound calling: calls to your number now ring the in-app phone instead of hanging up the moment they arrive. (In v5.0.0, inbound calls were dropped before they could reach a rep.)

v5.0.0 (June 2026) - Calling, QR codes, booking, paid ads & conversion tracking#

The biggest release yet. Anyone who owns Seedly gets v5.0 free.

Calling#

  • Built-in phone: place and receive calls right in your browser with a keypad, mute, hold, and one-click voicemail drop
  • Power Dialer: build a calling queue from a list, segment, or pipeline stage and work down it one contact at a time with auto-advance
  • Click to call any contact, matched automatically to their record
  • Call recordings, written transcripts, and outcome tags on every call
  • Calls now thread into the Conversations inbox alongside texts and emails
  • Built-in calling compliance: a voice Do-Not-Call list, calling-window and no-call-day enforcement in the contact's local time, and required call outcomes before moving on
  • Per-rep caller ID and flexible routing: give each rep their own number, and ring inbound calls to a rep's browser, desk phone, or cell
  • Call quality tools: device selection, a pre-call connection test, and per-call quality scoring
  • Call Report: total calls, connect rate, talk time, outcomes, dispositions, and a rep leaderboard for any date range

QR Codes#

  • Dynamic QR codes you can re-point at any time without reprinting
  • Brand color customization, live preview, PNG download, and a copyable short link
  • Organize codes into folders
  • Scan analytics: total scans, scans over time per code, and side-by-side comparison

Conversion Tracking#

  • Send offline conversions back to Google Ads and Meta so your ad platforms optimize toward real customers, not just clicks
  • Fire conversions from a form, a workflow, or a qualifying tracked call
  • Recommended Lead and Customer Paid funnel so bidding can target actual revenue
  • More accurate matching using your customers' protected contact details, in addition to the ad click
  • Export conversions to a file for manual upload any time

Calendar & Booking#

  • GoHighLevel-style booking page: side-by-side date and time selection (responsive), optional redirect-on-success, and a smoother pre-theme load
  • Branded booking emails: confirmation, reminder, cancellation, and reschedule messages render as branded HTML matching your transactional templates
  • Auto-branding from your default Style: new calendars and their emails inherit your brand color (plus optional email header color and global footer) automatically; the setup wizard now walks you through setting it once
  • Cancel/reschedule cutoff: block client-side changes within a set window of the appointment (for example, up to the day before)
  • Pick which Google calendar bookings sync into
  • Customer booking emails are recorded in the Conversations inbox
  • Paid bookings now reliably create the Zoom meeting and calendar events after payment

Forms#

  • Double opt-in: per-form confirmation flow with a branded confirmation email
  • Auto-create an opportunity in a chosen pipeline from leads on submission (optionally ad-sourced leads only)
  • HTML content block with a code editor and safe rendering; the builder canvas now matches the live form exactly; embedded forms auto-resize to fit their container
  • Paid Ads dashboard now runs on live Google Ads data (campaigns, spend, clicks, conversions); the placeholder sample data is gone
  • Campaign drill-down: ad groups, top keywords, and the actual leads each campaign produced
  • Organic (GA4) tab shows real Google Analytics data when a property is connected, with a connect-prompt otherwise

Reliability & Fixes#

  • More accurate reporting: first-response time counted once per conversation, with consistent date-range boundaries
  • Workflow reliability: parallel branches are no longer dropped when one branch is waiting; split steps route by their configured weights; a paused branching step follows a single path
  • Campaign sequences: correct follow-up timing, overnight send windows, and an unbiased A/B split
  • Billing accuracy: per-line tax is applied correctly, payment links and synced invoices charge the full total including tips and fees, and revenue reports count what was actually collected
  • Pipelines and conversations: cleaner bulk stage moves, accurate win-rate counting, and exact response-time tracking
  • Time zones: booking and invoice emails, quiet hours, and appointment edits now use the business time zone consistently
  • Continued security hardening: stricter cross-account and cross-brand data isolation, tighter permission checks, and more reliable webhook processing that retries instead of dropping events
  • Merge fields no longer expose internal record identifiers to recipients
  • Fixed a crash that could affect public form pages
  • Dark mode polish across the remaining public and in-app screens
  • Privacy: customer message content is kept out of internal logs

v4.1.0 (May 2026) - Tasks module packaging fix#

A patch release. Free for everyone who owns Seedly.

Fixes#

  • Packaging fix so the Tasks module installs cleanly on a fresh setup. The previous build left out a few Tasks files, which could stall a brand-new install part-way through. Same features as v4.0.0; this release just makes sure everything you need ships in the download.

v4.0.0 (May 2026) - Security audit, billing UI, and builder polish#

A major release following a platform-wide security audit. Free for everyone who owns Seedly.

Security & reliability#

  • Platform-wide security audit hardening across messaging, forms, login branding, webhooks, and permissions
  • Tighter permission checks so each user only sees and acts on the data their role allows
  • Public form redirects are validated, so a redirect can no longer be used to slip a malicious link past your form
  • Contact data in operator-sent messages can never inject code into the message you send
  • More reliable webhook processing: a transient failure now retries instead of dropping the event, so a delivered email or text event is never silently lost
  • Automatic cleanup of old activity, automation, and notification history so your data does not grow without bound (the windows are yours to set)

Payments & invoicing#

  • Single-business Stripe: if you run one business on infrastructure you control, you can take payments on your own Stripe account directly, with no extra connected account to wire up
  • Stripe payments received automatically now fire the same automations as a manual "mark paid": workflow triggers, contact scoring, and lifecycle changes all run, so a paid invoice no longer skips your follow-up
  • Fixed a case where heavy public traffic could lock customers out of viewing their own invoice, estimate, or document
  • Estimates flip to a "Viewed" status when the customer opens them, matching invoices
  • Draft invoices and estimates can be previewed immediately, no send required, including a phone-frame preview of the real customer view
  • Long invoices and estimates flow onto new pages automatically as content grows, and Processing Fee, Late Fee, and Tip now appear as their own line items

Billing & wallet#

  • Reworked billing screens: a clear rate card beside your wallet balance, a single Plan & Payments tab, and a separate Transactions view
  • Corrected usage pricing so messaging and calling bill at sensible, near-cost rates

Email & templates#

  • Branded transactional emails: invoice, estimate, and document emails carry your logo and a consistent layout
  • Template pickers across Payments, Documents, Forms, and Calendar so you choose which email sends for each event, with a live preview

Documents & forms#

  • Document signing hardening: signers can only fill their own fields, multi-signer documents use per-recipient links, and signature drawing now lines up with the cursor at any screen size
  • Collect a payment at signing: once everyone has signed, the customer is taken straight to checkout
  • Mobile-friendly document viewer
  • Form submission protection: a per-address cooldown on auto-responder emails stops your form being used to spam someone, optional submission-retention windows, and an alert when a form is being hammered

Automation, conversations & UI#

  • Sequence engagement gate: automatically exit or reroute contacts who stop opening your emails after a set number of steps
  • Calendar Enable reuses an existing Google connection instead of forcing another sign-in
  • Invoice, estimate, and document emails now thread into the contact's Conversations inbox, with a backfill for past sends
  • Two-way community-platform DM sync: community direct messages arrive in your inbox and your replies send back out
  • Privacy blur (demo mode): one toggle blurs contact names, emails, and phone numbers across the whole dashboard for safe screen-sharing
  • Builder polish: a roomier condition editor, a cleaner contact picker, and adding an element no longer jumps you to the Styles tab

v3.0.0 (May 2026) - Tasks module, Social, and compliance-grade messaging#

A major release. Free for everyone who owns Seedly.

Tasks (Projects)#

  • New Tasks module: a full project and task manager with projects, tasks, subtasks, dependencies, time tracking, templates, recurring tasks, and both kanban and list views
  • Client intake: a public request form and a floating "Submit Request" widget feed a brand-level review queue, and a product purchase can auto-create a project from a template

Social#

  • Social module overhaul: a cleaner analytics layout, Best Time to Post suggestions right in the scheduling dialog, and drafts that open straight in the planner
  • Multi-tenant social credentials so each sub-account connects its own accounts, with a rebuilt Connections screen
  • Social DM bridge: direct messages flow into Conversations, can trigger auto-responses and workflows, and can be answered by AI auto-reply

Messaging compliance & deliverability#

  • Built-in text-message compliance: quiet-hours enforcement in the recipient's local time, a per-message consent trail, and a content check that flags missing brand identification or opt-out language before you send
  • Broadcasts and sequences honor per-list opt-out and STOP, and a broadcast can no longer fall back to blasting your entire contact list
  • Email deliverability analytics group recipients by their mailbox provider, and connecting a sending provider registers its tracking automatically
  • Email builder and sending overhaul: a font and color toolbar, separate mobile styling, and send presets with staggering, throttling, and warmup-aware pacing

Reputation & calendar#

  • Event-driven review requests with per-channel reminder toggles
  • Calendar hardening: text reminders respect consent, double-booking across calendars is prevented, daylight-saving edge cases are handled, and new appointment events are available to your automations

Contacts & reporting#

  • CSV import smart-splits a single Full Name column and auto-creates any new tags as it goes
  • Audience growth chart backed by daily subscriber snapshots that survive bulk imports
  • A Google Analytics (GA4) dashboard that paints instantly when you return to the tab

Security & reliability#

  • Multiple security audit sweeps: cross-account isolation, least-privilege permission checks, hardened token handling, and request size limits across Conversations, Invoices, Workflows, and Forms
  • Forms fail closed on CAPTCHA, protect spreadsheet exports from formula injection, and enforce conditionally-required fields on the server
  • Accessibility: a WCAG AA contrast pass and normalized design tokens

v2.1.0 (May 2026) - Calling, billing, telephony, and AI auto-reply#

The release that brought usage billing, telephony, and payments together. Free for everyone who owns Seedly.

Telephony#

  • Optional per-customer telephony isolation: give each sub-account its own isolated phone-provider account so billing, data, and credentials are separated per customer
  • A2P 10DLC registration flow, with the option to import a brand and campaign you already registered directly with your provider
  • More reliable inbound and outbound texting: correct credential routing per sub-account, delivery-status callbacks, and a fix so every purchased number keeps its text and picture-message capability
  • Caller ID name registration

Calling & recordings#

  • Call recordings saved into the CRM with automatic transcription, a retention window, an optional provider-side purge, and a download from the Call Report

Billing & payments#

  • Usage billing system: a per-sub-account wallet, metering for text segments and call minutes, opt-in inbound billing, A2P fees, and a markup pass-through so you can rebill your customers
  • Stripe Connect for sub-account charges: each sub-account connects its own Stripe to take payments, with deterministic refund routing
  • Per-business Stripe keys and payment-path hardening, including idempotent refunds and recharges
  • Capture a card on file per sub-account, sync your product catalog from Stripe, and a resilient invoice send pipeline with a working public Pay button and Reset to Draft

Messaging & AI#

  • AI auto-reply: connect an AI chatbot to answer across six channels (text, email, Gmail, Messenger, Instagram, and live chat), with automatic hand-off the moment a human replies
  • Embeddable live-chat widget: a floating bubble that expands to a full chat panel, with an avatar uploader, that you can drop on any website
  • Live-chat visitor messages auto-assign so they land in an operator's inbox

Sub-accounts & setup#

  • Account templates: clone a designated sub-account's setup (templates, pipelines, lists, workflows, products, tags) into every new sub-account
  • Encrypted provider credentials with a repair pass, and provider access that follows the brand and agency credential cascade

Reputation & documents#

  • Reputation Smart Gate: route happy customers to your review page and surface unhappy feedback first, with a compliance-safe fallback so every customer can still reach your public review page, plus multiple destinations, brand theming, and a live preview
  • Document and invoice canvas templates now render for customers (PDF and web), with create-from-template cloning and seeded starters

Dashboard & email#

  • Redesigned multi-tab dashboard with Call Report, Pipeline, Audience, Organic, and Paid Ads views
  • Email subsystem rework: a per-tier sender, a payment-method gate on sending, and DMARC verification

v2.0.0 (March 2026) - Public beta#

The first public release of Seedly CRM.

Seedly CRM entered public beta with the full platform in place:

  • Contacts & Companies - custom fields, tags, smart lists, engagement scoring, CSV import/export, bulk actions, and linked company records
  • Unified Inbox - one thread per contact across text, email, Gmail, Facebook Messenger, and Instagram, updating live
  • Pipelines & Opportunities - visual kanban boards, opportunity scoring, stage gates, stale-deal detection, products and line items
  • Campaigns - email broadcasts, multi-step sequences, and text campaigns with segment targeting and analytics
  • Workflow Automation - a visual builder with 60+ action types, 40+ triggers, branching, A/B splits, delays, and execution logs
  • Forms - a drag-and-drop builder with multiple field types, spam protection, public links, and embed codes
  • Calendar & Booking - multiple calendar types, public booking pages, availability rules, and email and text reminders
  • Invoices & Payments - invoicing with line items, Stripe collection, estimates, recurring invoices, and a product catalog
  • Documents & E-Signatures - a block editor with signature fields, document flows, merge fields, and view tracking
  • Reporting - report views across contacts, pipelines, conversations, campaigns, workflows, calendar, and agent performance
  • Reputation - Google Business Profile review sync, review requests, and response management
  • Social - scheduling and publishing across Facebook, Instagram, and LinkedIn with analytics
  • Settings & Administration - sub-accounts, users, roles, permissions, integrations, custom fields, tags, audit log, and billing
  • Multi-Tenancy - a three-tier Agency, Brand, and Sub-Account hierarchy with credential cascade and per-plan feature gating
  • Real-time data across every connected client, and role-based access control with view, create, update, and delete scopes
Was this page helpful?