Skip to main content
connic

Ship the frontend with your agents.
Sign-in and data access built in.

Build a chat, a review inbox or an internal tool with any framework that outputs static files. connic builds it on every deploy, serves it per environment and signs people in with connic accounts or your identity provider.

Help Center
Agent Ops
Refund Review
help.example.com/search?q=package+delivered
Help CenterOrdersReturns
package delivered but not here
Missing or stolen deliveriesShipping

If tracking says delivered but the package isn't there, check your parcel locker and neighbors first.

Pick up a parcel from a lockerShipping

The pickup code for a delivered parcel is in the delivery email and in your order.

Report a problem with an orderOrders

Damaged, incomplete or not here? Report it within 14 days of delivery.

Still stuck? Chat with us

From the ops console to the customer portal.

Your operations team, your reviewers and your customers each get the app they need. Every app signs people in its own way, calls agents through its connectors and reads only the data its rules allow.

Run volume, failures and pending approvals across all agents, with a cancel button for stuck runs.

Agent Ops
ops.example.com/overview
OverviewLast 7 daysLR
Runs
12,486+8.2%
Completed
97.8%+0.4%
Failed
214−31
Avg. duration
4.2s−0.3s
Runs per day
ThuFriSatSunMonTueWed
Needs a decision3
Pay out €2,140 on CL-20931
claims-triage
Decide
Refund €349 on ORD-48213
support-agent
Decide
Order 40 laptops
procurement-agent
Decide
invoice-extractorCompleted3.1s14:02:11Details
support-agentRunning41.7s14:01:38Cancel
claims-triageAwaiting approval8.4s13:58:02Details
order-syncFailed0.8s13:55:47Details
UsesYour identity provider/_connic/runs/stats/_connic/runs/_connic/approvals

Reviewers see what an agent wants to do and why, then approve or reject it.

Refund Review
refunds.example.com/inbox/ORD-48213
refunds3 opentom@example.comTB
Search requests
€349.004m
Mia Wagner · ORD-48213
Damaged on arrival
€89.9018m
Jonas Klein · ORD-48177
Wrong size, return received
€1,240.001h
Lea Fischer · ORD-47950
Charged twice
Mia Wagner · ORD-48213
Refund €349.00
“The vase arrived in pieces, photos attached. I'd like my money back.”
Support agentsuggestsissue_refund
order_idORD-48213
amount349.00 EUR
reasonDamaged on arrival

Delivered two days ago. The photos show breakage, and it's the customer's first refund.

Reason (optional)
Breakage confirmed on the photos.
RejectApprove refund
Usesconnic accounts/_connic/approvals/_connic/approvals/<id>/decide

Customers report a claim, upload photos and follow the status while an agent assesses it.

My claims
claims.example.com/claims/CL-20931
Home InsuranceMy claimsPoliciesDocumentsAna Meyer
Water damage in the kitchen
Claim CL-20931 · Reported Oct 28
In review
  1. Claim reportedOct 28, 09:14
  2. 4 photos and 1 invoice uploadedOct 28, 09:16
  3. First assessmentOct 28, 09:17

    Water damage to the cabinet base and flooring, most likely from the dishwasher hose. Covered by your home contents policy, section 4.2. Estimated cost: €2,140.

  4. Adjuster reviewUsually within 2 working days
Your documents
Cabinet base
Flooring
Dishwasher hose
Overview
plumber-invoice.pdf184 KB
Add photos or documents
UsesYour identity provider/_connic/files/upload/_connic/db/claims/findclaims-intake

Upload a contract and get findings per clause, saved to your database and open to follow-up questions.

Contract Review
legal.example.com/contracts/supplier-agreement-2026
CounselContractsPlaybookJK
supplier-agreement-2026.pdf · p. 6 of 24
FindingsChecked against your playbook in 38s
§ 8 LiabilityCapped at 12 months of fees, excluding gross negligenceLow
§ 11 TermRenews for 24 months unless cancelled 6 months aheadMedium
§ 14 Data processingNo storage location for personal data, subprocessors added without noticeHigh
§ 17 Governing lawGerman law, courts of MunichLow
Ask about this contract
UsesYour identity provider/_connic/files/upload/_connic/db/findings/findcontract-chat

Each visitor sees only their own data.

An employee and the IT team open the same app and send the same request. The employee gets their own tickets and the IT team gets all of them, because connic adds the app's access rules to every query.

Rules filter the query
doc.author_id == user.id becomes part of the database query, so lists, counts and pages hold only the visitor's own records.
Fields the browser can't set
set writes author_id on every insert, and connic rejects updates that try to change it.
Denied unless a rule allows it
Requests without a matching rule get a 403, and a rule that can't be enforced fails the deploy, with the file and the rule's path in the error.
Refusals you can see
Each app's stats show 30 days of visitors, sign-ins and data requests, with failed sign-ins and denied requests counted on their own.
IT desk
desk.example.com/tickets
IT deskMy ticketsPaula Richter
  • IT-2291Laptop battery drains overnightOpen
  • IT-2264Access to the Finance shared driveWaiting
2 tickets
POST /_connic/db/tickets/findSame request, filtered by the app's rules
IT desk
desk.example.com/tickets
IT deskAll ticketsOmar Haddad · it-support
  • IT-2293VPN drops on hotel wifiOpen
  • IT-2291Laptop battery drains overnightOpen
  • IT-2288Printer on floor 3 jamsIn progress
  • IT-2264Access to the Finance shared driveWaiting
37 tickets

Decide who can open each app.

Customers open a public assistant, reviewers sign in with their connic account, and employees use the company login they already have. Set the sign-in per environment in the app file, or in the dashboard without a deploy.

Public
Anyone with the link, for customer-facing assistants, intake forms and demos.
connic accounts
Project members, optionally limited to permission groups. A good fit for staging and internal review tools.
Your identity provider
Employees sign in through your OpenID Connect provider, limited by email domain or group, without a connic account each.
IT deskActive
SettingsStatsAccess
Sign-in
In code
Who can open the app
Your identity provider

Visitors sign in with an OpenID Connect provider such as Entra ID, Okta or Google Workspace.

Issuer
https://sso.example.com
Client ID
8c2e4f17-5a3b-4d90-b6e1-0f7a9c3d2e54
Allowed email domains
example.com
Redirect URI
https://api.connic.co/v1/apps/auth/callback

Register it with the identity provider.

Managed in apps/it-desk.yaml. Change it in your code and deploy.

One deploy ships the app and the agents it calls.

Put the source in apps/it-desk/ and describe the app in apps/it-desk.yaml. Every deploy builds it together with the agents it calls, and each environment serves it at its own connic.app address.

apps/it-desk.yaml
name: IT desk
build:
  command: npm run build
  output: dist
auth:
  mode: oidc
  issuer: https://sso.example.com
  client_id: ${DESK_CLIENT_ID}
  client_secret: ${DESK_CLIENT_SECRET}
  allowed_domains: [example.com]
connectors:
  - desk-chat
access:
  database:
    tickets:
      read: doc.author_id == user.id or "it-support" in user.groups
      insert: user.signed_in == true
      set:
        author_id: user.id
environments:
  Staging:
    auth:
      mode: connic
  Production:
    domain: desk.example.com
  1. build

    connic installs the dependencies from your lockfile and runs npm run build on Node 22 or 24. If the build fails, so does the deploy, and the active deployment keeps serving.

  2. auth

    oidc sends people to your identity provider, and allowed_domains admits only company addresses. Leave auth out to manage sign-in in the dashboard.

  3. connectors

    The app reaches agents only through the connectors listed here. With apps_only: true in its file, a connector takes requests from nothing else, and a WebSocket connector streams the reply into the browser while the agent writes it.

  4. access

    Employees read their own tickets, the it-support group reads all of them, and set fills in author_id on every insert.

  5. environments

    Staging signs in with connic accounts. Production keeps your identity provider and serves the app on desk.example.com.

Frequently Asked Questions

Any framework that builds static files with an index.html, for example Angular, Astro, Next.js as a static export, Nuxt with generate, SvelteKit with adapter-static, or Vite with React, Solid, Svelte or Vue. The app needs a package.json and a lockfile and builds on Node 22 or 24. Server rendering, API routes and middleware don't run, so server-side work goes to agents behind connectors.

That depends on the sign-in mode. With public, anyone with the link can open it. With connic, project members sign in with their connic account, optionally only those in certain permission groups. With oidc, people sign in through your company's OpenID Connect provider, such as Google Workspace, Microsoft Entra ID or Okta, and you can limit access by email domain and group. A sign-in lasts up to 12 hours, and changing the sign-in settings signs everyone out.

No. The browser only reaches the resources and operations listed under access in apps/<key>.yaml, and everything else is denied. Rules can use the visitor (user) and lookups, such as a members document matched by email. connic turns the parts about stored records into query filters, and a deploy fails when a rule can't be enforced. Every write lands in the audit log with the app and the visitor.

Runs started from an app carry context.app with the app's id and key, and context.end_user with the visitor's id, email, name, groups and whether they signed in. connic sets both itself, never from the message payload, so your tools and middleware can rely on them.

The deploy fails with the build output in the deployment log, and the active deployment keeps serving the previous build. Every deployment keeps its own build, so a rollback brings an older version back. With connic dev, a failed build shows its output and the last good build stays live.

Apps are part of the pro and enterprise plans. Each environment serves the apps its deployment declares, and connic dev serves them in its own dev environment.