Guides/Publish at scale with AI agents

Publish at scale with AI agents

One account. Multiple subdomains. Pages, forms, analytics on each. Your agent manages it all.

Updated March 2026

You have an AI agent. You want it to publish things on the internet -- landing pages, forms, dashboards -- across multiple domains. Not one site. Ten. Maybe fifty. Each with its own analytics, its own forms, its own content. Sutrena handles this from one account and one API key. The agent creates subdomains, deploys pages, attaches forms, wires analytics, and organizes everything in folders. One conversation per site. All data flows back to one place. This is the workflow for someone who uses agents to publish at scale.

1. Plan your domain strategy

One Sutrena account can manage multiple subdomains -- Free gets 1, Pro 10, Scale unlimited. Each subdomain is an independent site with its own pages, forms, and analytics. Create subdomains for each project -- site-1.sutrena.com, site-2.sutrena.com, client-alpha.sutrena.com -- and use folders to group their resources. On Pro+ plans, add custom domains that point to any subdomain.

# Create a subdomain for project one
curl -X POST https://sutrena.com/api/account/subdomains \
  -H "Authorization: Bearer $KEY" \
  -H "Content-Type: application/json" \
  -d '{"name": "project-alpha"}'

# Create a subdomain for project two
curl -X POST https://sutrena.com/api/account/subdomains \
  -H "Authorization: Bearer $KEY" \
  -H "Content-Type: application/json" \
  -d '{"name": "project-beta"}'

# Create a folder to organize project-alpha resources
curl -X POST https://sutrena.com/api/folders \
  -H "Authorization: Bearer $KEY" \
  -H "Content-Type: application/json" \
  -d '{"name": "Project Alpha", "description": "All resources for project-alpha.sutrena.com"}'

2. Deploy pages across subdomains

Each subdomain gets its own set of pages. The agent creates an index page, an about page, and a contact page on each subdomain. Use the subdomainId from the previous step. For larger sites (Astro, Hugo, Next.js static export), use the zip deploy endpoint instead.

# Deploy index page on project-alpha
curl -X POST https://sutrena.com/api/pages \
  -H "Authorization: Bearer $KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "slug": "index",
    "title": "Project Alpha",
    "html": "<h1>Project Alpha</h1><p>Welcome to our site.</p>",
    "css": "body { font-family: system-ui; max-width: 800px; margin: 0 auto; }",
    "subdomainId": "SUB_ALPHA_ID",
    "folderId": "FOLDER_ALPHA_ID"
  }'

# Deploy about page on project-alpha
curl -X POST https://sutrena.com/api/pages \
  -H "Authorization: Bearer $KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "slug": "about",
    "title": "About - Project Alpha",
    "html": "<h1>About</h1><p>What we do and why.</p>",
    "subdomainId": "SUB_ALPHA_ID",
    "folderId": "FOLDER_ALPHA_ID"
  }'

# Deploy index page on project-beta (different subdomain)
curl -X POST https://sutrena.com/api/pages \
  -H "Authorization: Bearer $KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "slug": "index",
    "title": "Project Beta",
    "html": "<h1>Project Beta</h1><p>A different site, same account.</p>",
    "subdomainId": "SUB_BETA_ID"
  }'

3. Add forms to collect data from each site

Each site gets its own forms. A contact form for project-alpha, a waitlist form for project-beta. Organize them into folders so you know which form belongs where. The agent embeds the form on the corresponding subdomain pages.

# Contact form for project-alpha
curl -X POST https://sutrena.com/api/forms \
  -H "Authorization: Bearer $KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Alpha Contact Form",
    "fields": [
      {"name": "name", "label": "Name", "type": "text", "required": true},
      {"name": "email", "label": "Email", "type": "email", "required": true},
      {"name": "message", "label": "Message", "type": "textarea"}
    ],
    "folderId": "FOLDER_ALPHA_ID"
  }'

# Waitlist form for project-beta
curl -X POST https://sutrena.com/api/forms \
  -H "Authorization: Bearer $KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Beta Waitlist",
    "fields": [
      {"name": "email", "label": "Email", "type": "email", "required": true},
      {"name": "role", "label": "Role", "type": "select", "options": ["Developer", "Designer", "PM"]}
    ],
    "uniqueBy": ["email"],
    "folderId": "FOLDER_BETA_ID"
  }'

4. Wire up analytics on every subdomain

Create one analytics site per subdomain. Link it with the subdomainId and every page on that subdomain is auto-tracked server-side -- no client JavaScript needed. Page views, unique visitors, referrers, countries, and devices are all collected automatically. Query across all sites from one API key.

# Analytics for project-alpha
curl -X POST https://sutrena.com/api/analytics/sites \
  -H "Authorization: Bearer $KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Project Alpha Analytics",
    "subdomainId": "SUB_ALPHA_ID",
    "folderId": "FOLDER_ALPHA_ID"
  }'

# Analytics for project-beta
curl -X POST https://sutrena.com/api/analytics/sites \
  -H "Authorization: Bearer $KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Project Beta Analytics",
    "subdomainId": "SUB_BETA_ID",
    "folderId": "FOLDER_BETA_ID"
  }'

# Query page views for project-alpha over the last 30 days
curl "https://sutrena.com/api/analytics/query?siteId=SITE_ALPHA_ID&metric=page_views&period=30d" \
  -H "Authorization: Bearer $KEY"

5. Connect webhooks for notifications

Route each form's submissions to different channels. Project-alpha contact submissions go to the team Slack channel. Project-beta waitlist signups go to Discord. Each webhook fires independently -- different forms, different destinations.

# Alpha contact form -> Slack #alpha-leads
curl -X POST https://sutrena.com/api/webhooks \
  -H "Authorization: Bearer $KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "formId": "ALPHA_FORM_ID",
    "url": "https://hooks.slack.com/services/T00/B00/alpha-channel",
    "template": "slack"
  }'

# Beta waitlist form -> Discord #beta-signups
curl -X POST https://sutrena.com/api/webhooks \
  -H "Authorization: Bearer $KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "formId": "BETA_FORM_ID",
    "url": "https://discord.com/api/webhooks/123/beta-token",
    "template": "discord"
  }'

6. Manage everything from one dashboard

Use folders to group every resource by project. Move existing resources into folders with the organize endpoint. From the Sutrena portal or the API, you see all submissions, analytics, and pages across every site in one place. Scoped API keys let you restrict an agent to a single folder if needed.

# Move resources into the project-alpha folder
curl -X POST https://sutrena.com/api/folders/FOLDER_ALPHA_ID/organize \
  -H "Authorization: Bearer $KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "formIds": ["ALPHA_FORM_ID"],
    "pageIds": ["ALPHA_INDEX_PAGE_ID", "ALPHA_ABOUT_PAGE_ID"],
    "analyticsSiteIds": ["SITE_ALPHA_ID"]
  }'

# List everything in a folder
curl "https://sutrena.com/api/forms?folderId=FOLDER_ALPHA_ID" \
  -H "Authorization: Bearer $KEY"

curl "https://sutrena.com/api/pages?folderId=FOLDER_ALPHA_ID" \
  -H "Authorization: Bearer $KEY"

# Create a scoped API key for one folder (optional)
curl -X POST https://sutrena.com/api/keys \
  -H "Authorization: Bearer $KEY" \
  -H "Content-Type: application/json" \
  -d '{"name": "alpha-agent-key", "folderId": "FOLDER_ALPHA_ID"}'

FAQ

How many sites can I manage from one account?

Free: 5 projects. Pro ($29/mo): 100 projects. Scale ($99/mo): unlimited. Each "site" typically uses 3-5 projects -- a few pages, a form, a dashboard, an analytics site. So a Pro plan comfortably handles 40-60 independent sites.

Can the agent do all of this in one conversation?

Yes. Claude Code with MCP, Cursor, or any agent with API access can create subdomains, deploy pages, create forms, set up analytics, and wire webhooks in sequence. Sutrena has 75 MCP tools or a full REST API. One conversation, one key, multiple deployed sites.

How do I organize 50 sites?

Folders. Create one folder per project and group forms, pages, dashboards, and analytics sites inside it. Folders are unlimited on all plans. Scoped API keys restrict an agent to a single folder if you want isolation between projects.

What if I want to use my own domains?

Custom domains point to a subdomain via CNAME record. Pro: 5 custom domains. Scale: unlimited. Add the domain with POST /api/account/domains, point your DNS CNAME to cname.sutrena.com, and SSL is handled automatically.

Can I move resources between folders later?

Yes. POST /api/folders/:id/organize accepts arrays of formIds, pageIds, dashboardIds, and analyticsSiteIds to batch-move resources into a folder. POST /api/folders/:id/ungroup removes resources from a folder without deleting them.

What is Sutrena?

Sutrena is the web runtime for AI agents. Forms, Pages, Dashboards, Analytics, Webhooks, Automations, Emails — all through 75 MCP tools and one REST API. Your agent creates web artifacts, humans interact with them, and your agent gets the data back. Use any one feature or all of them together.

Pages

Deploy HTML instantly

Forms

Collect structured data

Dashboards

Visualize with 7 widget types

Analytics

Privacy-first, no cookies

Webhooks

Slack, Discord, Telegram

Get started in two API calls

1. Get a trial key (no auth, no signup)

curl -X POST https://sutrena.com/api/trial

2. Create anything — a page, form, dashboard, or analytics site

# Create a form with a dashboard
curl -X POST https://sutrena.com/api/forms \
  -H "Authorization: Bearer st_trial_xxx" \
  -H "Content-Type: application/json" \
  -d '{"workflowId": "waitlist", "createDashboard": true}'

# Or deploy a page
curl -X POST https://sutrena.com/api/pages \
  -H "Authorization: Bearer st_trial_xxx" \
  -H "Content-Type: application/json" \
  -d '{"slug": "index", "title": "My Site", "html": "<h1>Live</h1>"}'

Ready to build?

Get a trial API key instantly with no signup, or create an account for the full experience.

Publish at scale with AI agents — multi-site management | Sutrena | Sutrena