Sales planning with an assistant built in

Territories, quotas and capacity. One plan, on live data.

ZoneCraft syncs your CRM, geocodes plain addresses, and carves balanced territories on a real map. The same plan carries the quotas: allocated down the territory tree, assigned to the people who cover it, checked against capacity, tracked against actuals. The assistant drafts and proposes, you apply, with every change on record and a previewed publish back.

  • Single-tenant: your own instance and database
  • Assistant on your own model key: Anthropic or OpenAI
  • US, Canada, Europe and world boundaries built in
  • Tested at 300,000 records and 2,000 territories
  • OpenID Connect single sign-on and SCIM provisioning
ZoneCraft RecordsBoundariesTerritories Q4 East realignment draft
Adams County Allegheny County Armstrong County Beaver County Bedford County Berks County Blair County Bradford County Bucks County Butler County Cambria County Cameron County Carbon County Centre County Chester County Clarion County Clearfield County Clinton County Columbia County Crawford County Cumberland County Dauphin County Delaware County Elk County Erie County Fayette County Forest County Franklin County Fulton County Greene County Huntingdon County Indiana County Jefferson County Juniata County Lackawanna County Lancaster County Lawrence County Lebanon County Lehigh County Luzerne County Lycoming County McKean County Mercer County Mifflin County Monroe County Montgomery County Montour County Northampton County Northumberland County Perry County Philadelphia County Pike County Potter County Schuylkill County Snyder County Somerset County Sullivan County Susquehanna County Tioga County Union County Venango County Warren County Washington County Wayne County Westmoreland County Wyoming County York County WESTNORTHWESTCENTRALNORTHERN TIERNORTHEASTSOUTHEAST

The gap

Built for the moment your current territory tool stops being enough.

Most teams outgrow their current tool the same way: the data has to arrive clean, the model is a frozen copy, and nobody can say exactly what changed. ZoneCraft was designed around those seven gaps.

In other toolsIn ZoneCraft

Edits leave no trace, or at best a version to roll back to. "What exactly changed, and what did it do to each territory?" has no answer.

Every change is an event, and analyzedActor, time, before and after, written in the same transaction as the change. Diff any two states, read the impact per territory, export it, or restore a snapshot.

Records must arrive pre-geocoded, so the data team owns the map.

Plain addresses are enoughGeocoding runs inside the data pipeline, once, and is cached by address. Rows that already carry coordinates are used as they are.

The planning set is an export. By the time the plan is done, the data is a quarter old.

Sync, not snapshotDelta pulls on a modification-timestamp watermark keep datasets current, from Salesforce or whichever system your data lives in. Record identities stay stable, so assignments survive every refresh.

A handful of scenarios at most. Beyond that, what-ifs mean duplicated projects and copies of copies.

Parallel alignmentsClone an alignment, run rules or the optimizer, lock what must not move, and compare outcomes territory by territory before anything ships.

Publishing is a leap of faith: no preview of what will be written, no per-record log afterwards.

Publish is a reviewed jobField-mapped writes with a destination preview, one run per job, a per-row audit log, and an approval gate when the plan requires one.

The decisions about a territory happen in email threads and chat channels, away from the map. The discussion cannot be found later, and the person who owns the territory hears about it last.

Discussion where the work isTeam chat per plan and per alignment, and comment threads on any territory, record, boundary or quota plan. Mention a colleague and it lands in their inbox; resolve the thread when the change is made. Approved scopes stay open for discussion.

Quotas are set in a workbook after the territories are done, from a copy of the numbers. When an account moves mid-year its quota stays where it was, and nobody can say what a seller's number is based on.

Quotas on the territory treeA quota plan attaches to the alignment: allocate from the plan's own metrics, assign the result to the people who cover each territory, check it against headcount and track it against actuals. When accounts move, the drift check finds the quota they carried and files the adjustments.

Sales planning

Quotas, people and headcount, planned on the territories you just drew.

A quota plan attaches to an alignment. Its territory tree is the allocation tree, its metrics are the basis, and its teams, history and approval flows apply unchanged. Versions, adjustments, actuals and acknowledgments stay on the same record as the territories.

FY27 quota plan East Region · version 2approved
Target20.0M
Allocated20.0Mgap 0
Growth1.48×1.39–1.57×
Attainment38%1 behind pace
TerritoryWon FY26Quota FY27Q1Q2Attainment
East8.4M12.4M2.73M2.98M37%
Northeast2.9M4.3M950k1.03M41% · ahead
Southeast5.5M8.1M−500k pending1.78M1.94M35% · behind
Central2.3M3.2M700k770k44% · ahead
West2.8M4.4M970k1.06M37%
Total13.5M20.0M4.40M4.80M38%
basis: Won FY26 · market size (linked)1 adjustment pendingdrift: 2 accounts moved, 410k follows them12 of 14 sellers acknowledged
  • Allocation, six ways

    Proportional to any blend of plan metrics, attributes or linked data, growth over a prior plan, equal, carried forward, share of a market basis, or proportional to capacity. Floors, caps and growth bands hold, locked cells keep their value, and the preview shows every territory before and after with the outliers flagged.

  • People and coverage

    Sellers cover territories with dates, shares and overlays; ramps and mid-year transfers prorate their quota. Person-level overrides and adjustments, a compensation export, and a My quota page where each seller sees and acknowledges their number.

  • Capacity and headcount

    Roles with productivity, ramp schedules and attrition; seats filled, open or backfill per territory. Ramped capacity is compared with the quota per period, hire-by dates and late hires are flagged, and an allocation can follow capacity.

  • Actuals and attainment

    Actuals come from the plan dataset or a linked dataset, attributed to the territory that held the account when the quota was set. Attainment, pace and behind-pace flags per territory and per person, and a past year's shape to split annual numbers.

  • Bottom-up, with guardrails

    Managers propose their own numbers cell by cell; a guardrail band blocks or routes changes outside the allocated baseline. Adjustments on an approved plan are proposed, decided and logged, and the drift check files them when accounts move.

  • Versions, approvals and design targets

    New versions clone or carry forward; compare up to four side by side and keep one. The same approval flows sign off a quota plan and lock its base. Approved quotas can become design targets, so the optimizer balances territories to them.

Assistant

An assistant that knows territory and sales planning and never acts on its own.

Open it on any page and ask in plain language. It reads only what you can read, drafts what you would otherwise build by hand, and turns changes into proposals you apply with one click.

Assistant suggest
Check the health of this alignment.

Six territories, 5,888 records. Record counts sit within 4% of the mean except Southeast, which is 38% above it. 212 records are unassigned and 9 are not located. Two counties are locked. Rules last ran yesterday, and nothing is in approval.

Draft a rule that sends healthcare accounts in ZIP prefixes 190 to 196 to Southeast.

Drafted. It would match 412 records; 37 of them move out of Central.

Rule draft: healthcare accounts, ZIP 190–196 → Southeast
CheckResult
Matches412
Would move37
Locked records affected0
Open in RulesReport
Checked plan setup and health · Drafted a rule with a dry run
  • Analysis on demand

    Alignment health, territory metrics, why a record landed where it did, dataset field profiles, snapshot diffs, rule previews, quota plan fairness, drift and capacity, from the page you are on.

  • Drafts you open in the editor

    Formulas checked for syntax, assignment rules with dry-run impact, recipe pipelines, hierarchies, metrics, table filters and import mappings, validated against your real fields.

  • Proposals you apply

    Record moves, territory changes, owners, locks, rule runs, optimizer dry runs, quota allocations and cells, adjustments, coverage and seats arrive as cards with the exact changes and their impact. Nothing runs until you click Apply.

  • Carving

    Ask for a balanced split or merge over county or ZIP units. Every territory stays one connected piece, locked units never move, and a disruption budget caps the number of moves.

  • Never more than you

    Per-user access: none, suggest or edit. Every request runs as you, through the same permissions, plan teams and approval locks. Publishing, syncing, deleting, restoring and settings are out of its reach by design.

  • Your model, your key, your budget

    Anthropic or OpenAI per instance, a model picker with list prices, token budgets per user and per month, and usage reports by user, request type and plan. Optional masking replaces names, contacts and record ids before anything leaves your instance.

Product

Data in, boundaries drawn, plans governed. One workspace, read like a map legend.

Three groups of capabilities, in the order a plan actually uses them.

Data in

  • Sync from where your data lives

    Salesforce connects today: pick objects and pre-filters, pull deltas on a watermark, keep identities stable across syncs, on a schedule if you want. Other CRMs and systems are configured per instance.

  • Spreadsheets, guided

    A five-step wizard maps columns, declares types, and picks an upload mode: replace, add, override, or fill gaps. It remembers the setup for next month's file.

  • A real pipeline, visually

    Join, filter, aggregate and compute across sources on a node canvas, and preview the rows after any step before a run. Outputs become planning-ready datasets.

  • Pipelines the assistant drafts

    Describe the dataset you need; the assistant drafts the recipe graph against your real fields and opens it for you to review and run.

  • Geocoding built in

    Plain addresses are geocoded at the pipeline output, once, and cached by address. Rows that already carry coordinates are used as they are.

  • Records at scale

    300,000 records and 2,000 territories in one plan, tested end to end. Metrics, health, quotas and publishing read every record; locked rows stay put through every automated pass.

  • Linked datasets

    Join bookings, pipeline or market data to the plan at any level: by account, by owner, by territory or by boundary. Linked rows feed actuals, allocation bases and per-territory roll-ups, with a match report per link.

Boundaries

  • Standard geographies, built in

    Eleven sets ship with every instance: US states, counties and ZIP areas, Canadian provinces and FSAs, world countries, UN sub-regions and states and provinces worldwide, and Europe's NUTS 1 to 3, each with filterable attributes. Other regions are added from their official boundary data.

  • Your data as geography

    Turn any ZIP or postal list into real polygons, matched by code, alias, or name. Leading zeros the spreadsheet ate are recovered.

  • Custom boundaries from your parameters

    Generate each territory's boundary from its center with the parameters you set: straight-line radius or road-network drive time, the reach in minutes or miles, and per-territory overrides where the market demands it.

  • Overlap resolution, five ways

    Nearest center, priority order, balance by metric, choose per pair, or shrink to tangency, plus mark-as-shared. Continuity is guaranteed: no orphaned islands.

  • Carving proposals

    Ask the assistant for a balanced split of a territory; it proposes contiguous parts over county or ZIP units, with locked units fixed, for you to apply.

  • Select like a map, act like a table

    Rectangle, circle, lasso, or click-pick boundaries and their records together, then assign, lock, or export the whole selection.

Balance & govern

  • Detailed change analysis

    Every change is recorded with actor, time and before-and-after state. Diff any two alignments or snapshots, read the impact per territory, export it, or restore.

  • Metrics that roll up honestly

    Sums, weighted averages and distinct counts roll up the hierarchy correctly. Custom fields, manual, joined, or formula-computed, behave like any other column.

  • Rules and optimizer, preview first

    A dry run shows each territory before and after, with metric deltas. Apply only from the preview, and manual assignments always win.

  • Teams and scoped editing

    Plan teams with admins and members. Per alignment, read or edit, scoped to selected territories and their subtrees; boundary edits and quota access are separate permissions.

  • Approval flows you design

    Build approval templates with the steps you need. Submit a whole alignment or a subset of territories, set due dates, review the exact diff, and lock what is approved. The same flows sign off quota plans. Reversals are on record too.

  • Chat and comments, in the plan

    Team chat per plan and per alignment, comment threads on territories, records, boundaries and quota plans, mentions and replies, and an inbox that also lists the approvals waiting on you.

  • Publish back, reviewed

    Publish templates map territories to standard or custom fields in Salesforce or the system you connected. Each job previews the destination impact, runs once, and keeps a per-row audit log.

How a plan ships

Eight steps from a raw account list to territories in your CRM and a quota on every seller.

  1. 01Connect

    Connect Salesforce or the system your data lives in, or upload a spreadsheet. Pick the objects and filters that matter.

  2. 02Shape

    Join and clean the data in a recipe, or ask the assistant to draft it. Addresses are geocoded at the output, once.

  3. 03Carve

    Assign boundaries or records, run rules, let the optimizer or the assistant propose the rest, lock what must stay.

  4. 04Compare

    Clone alignments, take snapshots, and read the impact per territory. Discuss the moves in threads on the territories themselves.

  5. 05Approve

    Submit the whole alignment or a subset through a flow you designed, with due dates and a reviewable diff.

  6. 06Allocate

    Attach a quota plan to the approved alignment, allocate from its own metrics with floors, caps and a period split, and review the growth per territory.

  7. 07Staff

    Cover each territory with people, dates, shares and ramps. Check capacity against the quota per period, and let every seller acknowledge their number.

  8. 08Publish

    Preview every write, run the job once, and keep the per-row log next to the plan. Actuals then roll in, and attainment shows per territory and per person.

Change analysis

Every change on record, and every change explained.

Territory state is a projection of an append-only event log, so history, diffs, per-territory impact, snapshots and restore are the same mechanism, not features bolted on later.

WhenActorKindSubjectChange
14:18:45drift checkquota2 accounts · 410kNortheast Southeast
14:02:11you assistantboundaryBerks CountySoutheast Northeast
14:02:11rules enginerecordKeystone Dentalunassigned Southeast
13:41:56m.ortizlockAllegheny Countylocked in West
13:15:02approvalstep 2 of 3Q4 East realignmentapproved · due Sep 12
12:58:40optimizerrecord38 recordsCentral Northern Tier
12:30:07yousnapshotBefore optimizer runcaptured
alignment: Q4 East realignmentfilter: todayexport CSV
  • Searchable, diffable, exportable

    Filter by actor, kind, territory, quota plan or date, or show only the changes applied by the assistant, by a schedule or through an API token. Expand any row to the before-and-after state. Export the lot as CSV for the audit file.

  • Impact, territory by territory

    Compare any two alignments or snapshots and read what moved: records per territory, boundary deltas, metrics before and after. Restore a snapshot when a what-if went the wrong way.

  • Approvals with reversal

    Approved territories lock. Administrators can reverse an approval for the whole alignment or selected territories, and the reversal itself is on record.

Platform

Your instance. Your database. Nobody else's data in it.

ZoneCraft is single-tenant by design: every customer runs a separate stack with its own API and its own spatial database. Isolation is a deployment fact, not a row in a table.

Tenancy
One stack per customerOwn API, own PostgreSQL + PostGIS database, provisioned from a blueprint
Sign-in
OpenID Connect with any identity provider, or email and passwordOkta, Entra ID, Google, Cloudflare Access, Auth0, Keycloak or Salesforce; roles mapped from a claim. Roles: admin, planner, contributor, viewer; plan teams on top
Provisioning
SCIM 2.0 users and groupsCreate, update and deactivate from your identity provider; groups map to roles; nothing is hard-deleted through provisioning
API
Tokens that act as a named userEvery route that person could call, under their permissions, marked as API on the change record; expiry and revocation per token
Schedules
Syncs, pipelines, geocoding, actuals and publish runs on a cadenceHourly to monthly or one-shot, in your time zone; each run counts as its creator, with the same locks and permissions as a click
Edge
Cloudflare in front of every instanceTLS, WAF and DDoS protection; HTTPS only
Secrets
Connection credentials encrypted at restSalesforce tokens and every other connector secret, under a per-instance key; credentials never leave the instance
Maps
Mapbox maps and geocodingPermanent geocodes cached by address, so refreshes are free
Boundaries
US, Canada, Europe and the world built inEleven standard sets, 45,169 boundaries with filterable attributes, restored at first boot; other regions loaded from their official boundary data
Heavy work
Background job queueSyncs, geocoding, drive-time shapes, quota allocation, actuals refreshes and publish runs queue, retry and report progress
Scale
Tested at 300,000 records and 2,000 territoriesOne plan with 2,000 sellers covering the tree and a quota allocated over every territory; no computation caps rows; instances are sized per customer
Operations
Error tracking and uptime monitoringPer-instance environments; scheduled backups sized per customer
Assistant
Anthropic or OpenAI, on your own keyPer-instance switch, per-user access, token budgets per user and per month, usage and cost reports
AI data
Masking before the model, if you want itNames, contacts and record ids leave as placeholders; territory names and metrics stay readable; off by default
Collaboration
Chat, comments and notifications stay in your instanceNo third-party chat service; mentions, replies and comments on territories you own arrive in the in-app inbox

How it compares

The honest matrix. Categories, not names.

A side-by-side view of the capabilities that decide a territory project, across the kinds of tools teams typically use.

CapabilityZoneCraftCRM-native territory moduleDesktop mapping suiteSpreadsheets & slides
Change analysisEvery edit on record with before and after; diffs, per-territory impact, restoreAlignment history with restore; no per-change diff or impact analysisSave-file versions"Final_v7_REAL(2)"
AI assistantIn-product assistant: analysis, drafts, proposals you apply, on your own provider keyGeneral CRM assistant; no territory-planning actionsNot offeredGeneric spreadsheet AI, unaware of the plan
Quota and capacity planningQuota plans on the territory tree: allocation with floors and caps, people and ramps, capacity, attainment, bottom-up proposals with guardrailsIn the vendor's separate sales-planning add-on: quotas and headcount distributed from stamped alignmentsNot offeredThe quota workbook, reconciled by hand
Un-geocoded dataGeocodes plain addresses inside the pipeline, cachedNeeds latitude and longitude fields; the parent mapping product geocodes standard objectsExtra toolingNo map at all
Data from other systemsSpreadsheets, Salesforce, other systems configured per instance; external datasets linked to the plan by account, owner, territory or boundaryOther systems only through the vendor's analytics connectors, outside the planning toolFiles and databasesAnything you paste
Drive-time territoriesGenerated per territory from radius or drive time, with the parameters you set and overlaps resolvedDrive time only as a distance option when optimizing; no drive-time boundariesSeparate add-on modulesNot offered
What-if planningUnlimited parallel alignments, snapshots, three-way compare with impact; quota plan versions compared side by sideUp to three scenarios per alignment, compared on general territory metrics onlyDuplicate projectsCopies of copies
Data prepVisual pipeline inside the productReports or queries; deeper prep in the vendor's analytics recipes, outside the planning toolSeparate ETLBy hand, monthly
ApprovalsFlows you design: templates, the whole alignment or selected territories, due dates, reviewable diff, reversalSequential approval of the whole alignment only; no partial submissionsNot offeredEmail threads
Team collaborationChat per plan and alignment; threads on territories, records, boundaries and quota plans; mentions, replies, in-app inboxGeneral CRM feed on records; no threads inside the planning workspaceNot offeredCell comments and email threads
Publish backPublish templates to any destination: field mapping, destination preview, per-row logPublishes into its own CRM only; no preview of the writes and no per-row detailCSV out, re-importCSV out, re-import
Sign-in and provisioningOpenID Connect with any identity provider, SCIM 2.0 provisioning, API tokens, roles plus plan teamsThe CRM's own SSO and SCIMPer-seat licences and local accountsFile-sharing permissions
Where it runsSingle-tenant, your own stackVendor multi-tenant cloudPer-seat desktop installsWherever the file went
coveredpartial or workaroundnot offeredTypical capabilities by product category, checked against vendor documentation in September 2026; individual products vary.

More capability

Even more on the way.

In build now, sequenced by what early customers ask for first.

  • IN BUILD
    Mixed boundary modes

    Drive-time territories side by side with ZIP-based ones in a single alignment.

  • IN BUILD
    ZIP-to-ZCTA crosswalk

    Point ZIPs without a census polygon fold into their enclosing area automatically.

  • IN BUILD
    Cross-source matching

    Carry assignments across datasets when the same account lives in more than one source.

  • IN BUILD
    Choropleth legends and overlays

    Readable legends for metric shading, and compare overlays for ZIP-level plans.

  • IN BUILD
    Geocoding provider choice

    Pick the geocoder per instance, with a postal-centroid fallback for rows that only need containment.

  • IN BUILD
    Notifications by email and chat

    Mentions, approvals, proposals and due dates delivered by email or Slack, on top of the in-app inbox.

  • IN BUILD
    Quotas published to the CRM

    Forecasting quotas and territory records created and updated in the destination, with the same preview and per-row log as today's publish jobs.

  • IN BUILD
    More boundary packs

    UK postcode areas, US metro areas and districts, German, Austrian, Swiss and French postcodes, Australia, loaded like the eleven standard sets.

Questions

The ones every evaluation asks.

Do our records need to be geocoded first?

No. Map street, city, state and postal fields in the recipe output and geocoding runs there, once, with results cached by normalized address. Rows that already carry latitude and longitude are used as they are and never re-geocoded.

Do we have to use Salesforce?

No. Salesforce is the connector that ships today, spreadsheets need no connector at all, and other CRMs or systems your data lives in are configured per instance. The sync layer is source-agnostic: objects, filters and modification watermarks work the same way whatever the source.

Can we plan quotas in ZoneCraft, or only territories?

Both, on the same plan. A quota plan attaches to an alignment and uses its territory tree and metrics. Allocate top-down with six methods, floors, caps and a period split; let managers propose bottom-up within a guardrail; cover territories with people, ramps and shares; compare capacity with quota; pull actuals for attainment; and sign off through the same approval flows. Adjustments, versions and the drift check keep the numbers right through the year. Quotas leave through a compensation export today; publishing them to CRM forecasting is on the way.

Can the assistant change territories on its own?

No. In suggest mode it reads and drafts only. In edit mode it creates proposal cards with the exact changes and their impact; nothing happens until a person clicks Apply, and applied changes are logged as made by the assistant on that person's behalf. It never publishes, syncs, deletes, restores snapshots, or touches users and settings, and it runs with exactly the permissions of the person asking.

Can the team discuss a plan inside ZoneCraft?

Yes. Every plan and every alignment has a team chat, and any territory, record, boundary or quota plan can carry comment threads with mentions and replies. Mentions, replies and comments on territories you own arrive in the in-app inbox, next to the approvals waiting on you. Discussion stays open on approved scopes, so reviewers can talk about what is locked without changing it.

Which AI model does it use, and does our data leave the instance?

You choose Anthropic or OpenAI and provide your own API key; the model is picked per instance from a list with prices. The assistant runs inside your instance and sends the model only what the request needs. Optional data masking replaces names, contacts and record ids with placeholders before they leave. Token budgets cap usage per user per day and per instance per month, and every request is reported with an estimated cost.

Does it write territories back to our CRM?

Yes. A publish template maps territory names, owners or any attribute to standard or custom fields on the source object. Each publish job shows the destination impact before it runs, runs once, and keeps a per-row log. A plan can require an approved alignment before a job may run.

Can we approve part of a plan, with our own steps?

Yes. Approval templates define the steps and who signs each one. A submission can cover the whole alignment or selected territories, every step carries a due date, reviewers see the exact diff, and approved territories lock. Administrators can reverse an approval, in whole or for selected territories, and the reversal is on record.

Where does our data live?

In your own instance: a dedicated API and a dedicated PostGIS database that no other customer shares. Cloudflare sits in front for TLS and traffic protection. Connection credentials, Salesforce tokens included, are encrypted at rest with a key that belongs to the instance.

How do we sign in, provision users and automate runs?

Sign-in is OpenID Connect with your identity provider, Okta, Entra ID, Google, Cloudflare Access, Auth0, Keycloak or Salesforce, or email and password. SCIM 2.0 creates, updates and deactivates users and maps groups to roles. API tokens act as a named user under that user's permissions, and schedules run syncs, pipelines, geocoding, actuals refreshes and publish jobs on a cadence, each as the person who created it and with the same locks.

Can we start with spreadsheets only?

Yes. Excel and CSV import needs no CRM connection: the wizard maps columns, declares types and picks an upload mode, and remembers everything for the next file. Connect a CRM later and the same plans keep working.

Which geographies are supported?

Eleven standard sets ship with every instance: US states, counties and ZIP areas, Canadian provinces and forward sortation areas, world countries, UN sub-regions and states and provinces worldwide, and Europe's NUTS 1 to 3 regions, 45,169 boundaries with filterable attributes such as country, region, city or population. Any other region is added from its official boundary data. Any ZIP or postal list of your own becomes a boundary set, and territories can be grown from their centers as radius or drive-time shapes with the parameters you set.

How large a dataset can a plan hold?

A plan of 300,000 records and 2,000 territories, with 2,000 sellers covering them and a quota plan allocated over every territory, has been exercised end to end. At that size the workspace opens in about twenty seconds, rule and optimizer previews answer in seconds, people, capacity and export views in well under a second, and a whole-tree quota allocation runs as a background job of about three minutes, measured on one development machine. No computation caps rows: metrics, health checks, quotas and publishing read every record, while the browser loads up to 100,000 records at a time and says so when there are more. Production instances are sized per customer; tell us your counts.

How long does it take to get running?

An instance provisions from a blueprint and restores the boundary reference data on its first boot. Connecting Salesforce is a standard authorization and the first sync starts right after; other systems are configured per instance. Most of the elapsed time is deciding which objects and filters to bring in.

Walkthrough

See your own territories in ZoneCraft.

Bring an account list, a spreadsheet is enough, and see a plan built on your data: boundaries, balance, quotas, the assistant, change analysis and the publish preview. Tell us a little about your setup and we will reply to set a time.

Prefer email? Write to hello@zonecraft.app