October 2026

Everything that changed in NoClick in October 2026.

NewAgentsSDKAPINext SDK release

Memories that agents share

A memory is now an object of its own, with a name, that any number of agents can read: what every agent of your company should know, or what one agent learned that another needs. Attach it with memories=; it's read-only unless attached with writable(). Each agent still keeps a memory of its own.

company = noclick.Memory.from_name("company", create_if_missing=True)
company.save("tone", "Warm, brief, no jargon.", description="How we write")

support = noclick.Agent.from_name("support", create_if_missing=True,
                                  instructions="Answer billing questions.", memories=[company])
Read more in Memory and files
NewAPISDKNext SDK release

Reversible by default: the trash and undo

Deleting an app, database, bucket, dict, queue, repo, volume, inbox or agent now moves it to the trash, where it stays restorable for 30 days. A write that can be taken back records how, so its operation can be undone. Only purging is permanent.

item = noclick.Database.from_name("orders").delete()
print(item.kind, item.name, item.purge_after)   # database orders 2026-11-14 ...

item.restore()   # back under its name, every table and row with it
Read more in Undo and the trash
NewAppsSDKNext SDK release

Check a deployment before it's live

Deployment.check loads pages of a deployment in a browser and reports each one's status, load time, console errors and a screenshot. Give an app check_paths and a promote is checked where it serves before production switches: a failed check leaves production as it was. Every promote bookmarks the app's databases first, so undoing it restores them too.

checked = preview.check(["/", "/book"]).wait()
for page in checked.paths:
    print(page.path, page.status, page.problem)
Read more in Apps and deployments
NewAppsSDKNext SDK release

Sign in with Google, Apple and Microsoft, with nothing to set up

app.sign_in commits sign-in code into an app's repo, with its users in the app's own database. Google, Apple and Microsoft now sign people in through NoClick, so they work as soon as the operation ends, with no client to register at the provider. GitHub still uses your own client.

app = noclick.Project.from_name("booking")
setup = app.sign_in.enable(providers=["email", "google", "apple"]).wait()
print(setup.managed_providers)   # ['google', 'apple']
Read more in Email, payments and sign-in
NewAPISDKNext SDK release

Build automations from a description

Workflow.create with instructions has NoClick's builder make the automation, as it does in the app. Change it the same way, by describing the change, and run, pause and publish it from your code.

brief = noclick.Workflow.create(
    "Morning brief",
    instructions="Every weekday at 8, email me today's calendar and the unread emails that need a reply.",
)
result = brief.latest_build.wait(timeout=900)
print(result.summary)
Read more in Workflows

Phone numbers in more countries

Numbers are sold in every country our carrier covers, each priced by its own search. A country that asks who holds a number takes the holder's address with the purchase. One that asks for documents takes them as uploads, and the carrier's review can take a few days, so buy returns a PhoneNumberOrder rather than the number.

holder = noclick.NumberHolder(name="Dana Ruiz", street="Keizersgracht 1", city="Amsterdam",
                              postal_code="1015 CJ", country="NL", phone="+31612345670")
noclick.PhoneNumber.buy(pick, max_monthly_usd=5, address=holder)
Read more in Phone numbers
NewSDKSDK 0.2.0

One noclick package

The SDK is one package in each language, noclick on PyPI and npm, for the whole platform. The bridge custom components use in NoClick interfaces is part of it, as noclick/embed; components inside an interface keep importing @noclick/sdk.

pip install noclick
Read more in Getting started