日本語
AI-Led SDLC Enablement

SDLC on ServiceNow

End-to-end SDLC guide for building, testing, and releasing ServiceNow apps using the ServiceNow SDK, Git, ReleaseOps, and CI/CD pipelines.

Build with Fluent + SDK
Test with ATF + Test Agent
Release with ReleaseOps

← → TO NAVIGATE  ·  Ashwin Patti, Shelby Cohen

Legal

Safe harbor statement

This presentation may contain "forward-looking" statements that are based on our beliefs and assumptions and on information currently available to us only as of the date of this presentation. Forward-looking statements involve known and unknown risks, uncertainties, and other factors that may cause actual results to differ materially from those expected or implied by the forward-looking statements. Further information on these and other factors that could cause or contribute to such differences include, but are not limited to, those discussed in the section titled "Risk Factors," set forth in our most recent Annual Report on Form 10-K and Quarterly Report on Form 10-Q and in our other Securities and Exchange Commission filings. We cannot guarantee that we will achieve the plans, intentions, or expectations disclosed in our forward-looking statements, and you should not place undue reliance on our forward-looking statements.

The information on new products, features, or functionality is intended to outline our general product direction and should not be relied upon in making a purchasing decision, is for informational purposes only, and shall not be incorporated into any contract, and is not a commitment, promise, or legal obligation to deliver any material, code, or functionality. The development, release, and timing of any features or functionality described for our products remains at our sole discretion. We undertake no obligation, and do not intend, to update the forward-looking statements.

Agenda

Today, start to finish

👋 Welcome — 10:00 AM – 5:00 PM. By the end of today, you'll build, test, source-control, and release a real app end-to-end.

Foundations

What is an "app" in this model?

"A persistent container, owned by you, for anything you build on the ServiceNow Platform. It has a name, a version, and a scope."

In scope

Global apps, non-global apps, and ITSM implementations built via "move and edit" — all under one model.

Out of scope

Non-global customization without "move" ownership — that metadata has no persistent container; it stays under ServiceNow's ownership.

Why it matters

One development model regardless of whether you're building net-new or customizing what's already there.

Foundations

The prescribed stack

🛠️

SDK

Build engine, compiles to deployable artifacts

💻

Studio

IDE / prod code mode

🌿

Git

Branch, PR, merge

📦

Sandbox

Isolated dev instance

🤖

Build Agent

AI-assisted authoring

ATF

Automated test framework

🗄️

App Repo

Immutable artifact store

🚀

ReleaseOps

Assess, approve, release

Foundations

SDK + Fluent = source-driven development

Fluent

A TypeScript DSL — .now.ts files define metadata with compile-time type checking and diagnostics, instead of clicking through forms.

JS modules + React

Business logic as typed @servicenow/glide imports; UI Pages built in React, Svelte, Vue, or Preact.

THE INNER LOOP

$now-sdk build # instant diagnostics on your .now.ts files

THEN INSTALL AND TEST

$now-sdk install --sandbox
Foundations

Git is the authoritative source of truth

Git

Branching, pull requests, line-by-line review, three-way conflict resolution, precise point-in-time rollback.

Update sets

XML transport artifact only — not built for collaboration, branching, or human-readable diffs.

We'll go deeper on this contrast later in the Source Control module.

Setup

Get your source control ready

Break

9:55 – 10:10 · Back for build-ready requirements

Build-ready requirements

Vague story vs. build-ready story

Vague

"As a facilities user, I want to request maintenance on equipment so it gets fixed."

Build-ready

Entities: Maintenance Request, Equipment
Roles: Requester (create/view own), Technician (view assigned, update status)
Given–When–Then: Given a Requester submits a request for active Equipment, When they submit, Then a Maintenance Request is created in "New" state and assigned per routing rule.

Activity

Your turn: rewrite it

Why sandboxes

One instance, many developers, zero collisions

Agentic tools change a lot of metadata fast. On a shared instance, that's last-write-wins between developers — a sandbox contains the blast radius, and Git reconciles it.
🏢

Dev instance

Shared, non-prod

📦

Your sandbox

Feature branch lives here

🧪

Test instance

Separate from dev

🏭

Production

Separate from test

Allocate a sandbox before you start, create your feature branch inside it, decommission it when you're done.

Setup

Get your sandbox ready

  • Confirm you can log in to your assigned instance
  • Confirm your developer sandbox is allocated
  • Create a feature branch off main
$git checkout -b feature/maintenance-app
Build Agent

What is Build Agent?

Go from a plain-language prompt to a working app — in the same session, on the same instance you'll build in today.

Conversational

Describe what you want in plain language; Build Agent proposes the entities, roles, and logic — no forms to click through.

Platform-native

It builds real Fluent metadata objects in your app's scope — not a disposable prototype you throw away later.

Full-loop

It generates the app and its ATF tests in the same session — which is what we'll build on next.

Build Agent

Build Agent in ServiceNow Studio

Build Agent chat panel inside ServiceNow Studio, showing it explain a flow's logic in plain language and suggest fixes for a bug and a scaling issue it found

It reads your app's existing metadata, explains what a flow actually does in plain language, and proposes concrete fixes — grounded in your instance, not a generic answer.

Build Agent + ATF

Tests live in the dev loop, not bolted on

Tests live in app scope, authored while you build — not added after the fact.
Build + test (exercise)

Build + test the maintenance app

  • 👀First, see the finished app — what you're building toward.
  • 💬Prompt Build Agent with the natural-language description from the whitepaper.
  • 🧑‍🏫We'll float table-to-table throughout — flag us down anytime.

OPTIONAL · FOR ARCHITECTS

// the Fluent code Build Agent writes under the hood
export const MaintenanceRequest = Table({
  label: 'Maintenance Request',
  fields: { equipment: Reference('equipment') }
});
Q&A

Questions?

11:30 – 12:00

Lunch

🍽️

Back soon to re-anchor

Re-anchor

Where we left off

Build

Done

Test

Done

🗂️

Manage

PR, merge, publish

🚀

Release

ReleaseOps, deploy

Your app is built and tested. Next: source control and release.

Q&A

Questions?

1:45 – 2:00

Off-instance development (exercise)

The same app, off the platform

Source control (exercise)

Exercise: ship it with Git

📌 Prescriptive point

Git does branching, review, and line-by-line conflict resolution. Update sets cannot.

Break

3:00 – 3:15 · Back for ReleaseOps

ReleaseOps

ReleaseOps: Two objects, one pipeline

Deployment Request

The payload container. Promote an Update Set into one, then mark it "Ready to Assess" — the assessment playbook (Instance Scan → Move to Test → Run ATF) runs against it.

Release

The record that moves a cleared Deployment Request to production — On Demand (immediately) or Scheduled (batched at a datetime). Lives on the ReleaseOps controller environment, typically production.

Two paths get you here: promote an Update Set into a Deployment Request (this lab), or trigger it from Git via the CI/CD REST APIs with an approval gate (see choose-your-own-adventure).

ReleaseOps (exercise)

The quality-control model

🔍

Instance Scan

Static policy check, on the dev instance

📥

Move to test

Assessment begins

Run ATF

Functional coverage

🚀

Ready for Deploy

Cleared for release

LAB: CREATE A DEPLOYMENT REQUEST, MARK "READY TO ASSESS," WATCH IT RUN

Retest

Rerun the assessment as-is.

Need Code Change

Assessment is invalidated — the Deployment Request returns to Draft and needs a new payload.

Sign Off

Manual approval to proceed.

Q&A

Questions?

3:45 – 4:00

Push to production (demo only)

Promote, deploy, and roll back if needed

Choose your own adventure (exercise)

Pick a track, go deep

Fluent deep dive

More metadata types, transform/sync from UI builders

Testing deep dive

Test Agent triage, Cloud Runner, regression suites

CI/CD APIs

now-sdk cicd, Git-triggered pipelines, approval gates

MCP integrations

Connect Figma/Miro via Connect Hub, build straight from the spec

Custom rules

Rules that change language/terminology in Build Agent output

ReleaseOps

Deployment Request, assessment playbook, Ready for Deploy

Explore whichever track interests you most — we're here for questions. Head to the exercise for ideas to get started.

Wrap

One picture, your app traced across it

📝

Plan

🛠️

Build

🧪

Test

🗂️

Manage

🚀

Release

Update sets group work and transport it — nothing more. They are not source control, and they don't merge.

QUESTIONS? PING Ashwin Patti, Shelby Cohen.

Thank You

🙏

Full SDLC guide, reference, and troubleshooting:
servicenow.github.io/sdk/guides/sdlc-guide

Bonus

Build Agent — unified SNS & AutoEng Mode

BONUS SLIDE — PENDING/ROADMAP CONTENT PER LEGAL (SLIDE 2). PRESENTER TO FILL IN BEFORE SESSION.

Bonus

What's coming in the September release

BONUS SLIDE — PENDING/ROADMAP CONTENT PER LEGAL (SLIDE 2). PRESENTER TO FILL IN BEFORE SESSION.

Bonus

ATF in AutoEng Mode

BONUS SLIDE — PENDING/ROADMAP CONTENT PER LEGAL (SLIDE 2). PRESENTER TO FILL IN BEFORE SESSION.

Bonus

Generating ATF tests on existing legacy apps

BONUS SLIDE — PENDING/ROADMAP CONTENT PER LEGAL (SLIDE 2). PRESENTER TO FILL IN BEFORE SESSION.

Bonus

Build Agent + MCP

Pull specs directly from the tools you already use — Figma, Miro — instead of re-describing them by hand in a prompt.
🔌

Connect Hub

Admin configures the Figma/Miro app

🛡️

AI Control Tower

Admin approves it

⚙️

Your settings

Enable MCP servers (MCP tab)

🤖

Build Agent

Reads specs directly from the tool

One-time admin setup (Connect Hub + AI Control Tower approval), then any developer turns it on for themselves in their own Build Agent settings.

Bonus

Custom rules — changing language

BONUS SLIDE — PENDING/ROADMAP CONTENT PER LEGAL (SLIDE 2). PRESENTER TO FILL IN BEFORE SESSION.

Bonus

Sneak peek: what's next

Everything on this slide is directional, not a commitment — see the safe harbor statement on slide 2.

BONUS SLIDE — PENDING/ROADMAP CONTENT PER LEGAL (SLIDE 2). PRESENTER TO FILL IN BEFORE SESSION.

Bonus (demo only)

Warpspeed demo

A workflow automation platform for things like equipment requests, time-off approvals, invoice handling, and access permissions.