← Documentation

AI Assistant

Enterprise / Pro add-on

The AI Assistant builds, edits, and reviews form configurations from plain-language prompts. Describe what you want — “add a 3-step approval wizard with a manager sign-off” — and it returns a ready-to-apply configuration, or a plain-text report if you’d rather it just advise.

The AI itself is not part of Modern DFFS. No model, no subscription and no token allowance ships with the product, and nothing in the license price pays for AI usage. Every route in section 2 assumes AI access you already hold and pay for yourself: your own provider API key, your organization’s own relay credentials, or an AI tool you already subscribe to for the copy/paste route. What Modern DFFS provides is the prompt assembly, the configuration schema, and the import of the result — not the inference.

1. Response modes

Two modes control what the AI returns:

ModeWhat happens
Apply the requested changesThe AI returns an updated form configuration (JSON). It’s applied automatically when you use direct send, or by pasting/uploading the JSON in the manual flow. A configuration snapshot is taken automatically before any AI change is applied, so every change is reversible.
Review the configuration and report on potential issuesThe AI returns a plain-text report — analysis, findings, or answers to your questions. Nothing is applied. Use this to audit a configuration or ask questions without making changes.

2. How to send the prompt

There are three ways to run a prompt:

  • Send directly — using your own API key (Professional add-on and Enterprise) — provide your own API key and send straight from the configuration panel. The key is AES-GCM encrypted and stored in the browser’s localStorage, scoped to your machine and user — it is never stored on our servers. How the request travels: AI provider APIs reject direct cross-origin calls from a browser, so an in-browser AI feature needs a same-origin hop — there is no way around it. Your prompt and your API key are therefore passed through a stateless relay at spjsworks.com to the provider you selected. It is a CORS workaround, not a processing step. The relay forwards the request, streams the answer back, and stores, logs and retains nothing — not the key, not the prompt, not the response. If you would rather no request touched our infrastructure at all, there are two ways to avoid it: on Enterprise, point DFFS at your own relay (below); on any edition, use the copy/download route — the third option below — which reaches no relay and needs no API key.
  • Enterprise relay (Enterprise) — instead of each user supplying a key, add an item to the DFFS_Settings list on your ModernDFFS_Central site collection with Title = AIRelayPath (case-sensitive) and SettingValue = the full HTTPS URL of your own ai-relay.html. DFFS reads that value on load and routes every AI request through it. When the license is resolved from the central site, the shared relay is not used at all — AI traffic goes from the browser to your own relay endpoint and never reaches SPJSWorks infrastructure. Your API credentials live in environment variables on your relay server and are never sent to the browser; the relay page deliberately ignores any key posted from DFFS. The relay can front Azure OpenAI (including Managed Identity, so there is no API key at all, and private endpoints), Claude, OpenAI, Gemini / Vertex AI, AWS Bedrock, or a self-hosted model (Ollama, vLLM, LM Studio, llama.cpp) — the AI endpoint itself never needs to be reachable from the internet, so fully air-gapped inference is supported. Full instructions are in the Enterprise AI Relay setup guide; the ready-to-deploy relay files (HTML + PHP, in ai-relay.zip) are a free download from the Enterprise files folder.
  • Copy / download the prompt — no API key required — the API key is only a convenience that keeps everything inline; the assistant works fully without one as a simple two-step manual flow. Click Copy prompt to clipboard, or Download prompt to AI model when the assembled prompt and configuration reference exceed roughly 50,000 characters — the UI tells you when that applies. Paste or upload it into your preferred AI tool, then bring the result back with Paste AI response or Import AI response (Apply mode), or simply read the report (Review mode). In this mode nothing leaves your browser to us or to any AI provider — the exchange happens entirely between you and whichever AI tool your organization has already approved.

Supported providers (own API key)

Claude (Anthropic), OpenAI (ChatGPT), Gemini (Google), Mistral AI, Grok (xAI), and Groq (LLaMA / open-source).

3. Choosing what to include

Select which parts of the configuration to send, to keep token usage low:

  • Form layout
  • Rules
  • Miscellaneous settings
  • Custom JS
  • Custom CSS

Include only what’s needed for the task.

4. What it can do

  • Edit an existing form from a description.
  • Build a new form from scratch, including creating any missing list fields.
  • Review/audit a configuration and report issues without changing anything.
  • Ask for clarification — if a request is ambiguous, the AI asks before generating output.

5. Worked example

Mode: Apply the requested changes

Prompt: “Create a new equipment request form with fields for requester (person), equipment type (dropdown: Laptop, Monitor, Phone), quantity (number), and a manager approval signature. Make it a 2-step wizard and validate required fields before the next step.”

The AI returns a configuration that:

  • Creates any of the fields that don’t yet exist.
  • Lays out a two-step tab set in wizard mode with required-field validation.
  • Adds a signature capture field for the manager approval.

A snapshot is taken first, so you can roll back from the import/export panel if needed.

6. Tips & notes

  • Start in Review mode when you’re unsure — it’s non-destructive and great for understanding an existing form before changing it.
  • Every Apply is reversible via the automatic snapshot; you can also compare snapshots in the import/export panel.
  • Keep prompts scoped — include only the configuration parts relevant to your request.
  • Enterprise relay removes per-user keys — preferred when you don’t want individual users handling API credentials.