Start Here
Developer overview
Map the Antly developer surfaces: JQL, scripts, Page Builder runtime code, events, and public embeds.
Antly exposes three main developer surfaces:
- Call the JQL API from an external system.
- Write scripts that run inside Antly against records, tasks, tickets, or workflow nodes.
- Write React runtime code for Page Builder V3 react blocks and Page Builder V4 pages.
Those surfaces share the same platform model. Most code eventually reads or writes a namespace such as objects.Record, tasks.Task, tickets.Ticket, system.Webhook, or a module namespace. Start with the JQL contract in /reference/jql-overview, then use the namespace pages under /reference/* when you need the fields and intents for a specific app.
Extension map
Use the API when another service owns the flow and Antly is a system of record. A typical integration creates an API application, stores the generated JQL token, and sends POST /jql requests with __meta__.authenticationClass set to api_key. See /developer/api-applications-keys and /developer/quickstart-api.
Use scripts when the logic belongs inside Antly. Object scripts attach to object records and run on object lifecycle triggers. Workflow script nodes run as a step in a workflow graph. Scripts are currently enabled for objects.Record, tasks.Task, and tickets.Ticket. See /guides/object-scripts, /guides/scripts, /developer/scripts-api, and /developer/script-patterns.
Use Page Builder runtime code when a page needs custom UI but should still run inside Antly's authenticated shell. V3 react blocks and V4 generated pages share the same injected runtime: useJql, useJqlMutation, Formik, Yup, Antly input components, PageBuilderChart, PageBuilderIrisChat, and PageBuilderReport. See /guides/page-builder-v4, /developer/runtime-overview, and /developer/data-hooks.
Use events when Antly needs to notify or receive from another system. Outbound webhooks are configured with system.Webhook and system.WebhookListener. Inbound provider callbacks arrive at /webhooks/<app>/<service>/<method>. Realtime browser clients connect to WS /jql-streams. See /developer/outbound-webhooks, /developer/inbound-webhooks, and /developer/realtime-streams.
A minimal JQL shape
All JQL requests carry an envelope named __meta__. The envelope chooses the schema, namespace, intent, fields to return, and authentication class.
1{
2 "__meta__": {
3 "schema": "model",
4 "namespace": "objects.Record",
5 "intent": "retrieve",
6 "authenticationClass": "api_key",
7 "return": {
8 "id": null,
9 "name": null,
10 "created": null
11 }
12 },
13 "filter": {
14 "object__namespace": "Customer"
15 }
16}For the complete envelope, intent names, return trees, filters, pagination, and upload side effects, read /reference/jql-overview, /reference/crud-operations, /reference/filters-and-queries, and /reference/pagination.