AI inside Lagniappe
To slightly modify a proverb, Lagniappe’s approach to AI is roughly “For AI proposes, but only Users dispose.” I personally find AI very helpful in many scenarios, but I’m just not a --dangerously-skip-permissions sort of guy, and I don’t live that agentic life. The main AI tools (Organize, Ask, and Create) are all accessible inside the application itself, by email if you configure it, via API, or by using the MCP, optionally installed along with the application. You can even add it as a plugin on ChatGPT. Lots of ways to get your tokens in, and they can all be turned off.
Usage inside the application and by email use the Gemini model selected in the Admin section, while any model can be taught to use the API. The big difference is that application & email usage are billed to the site owner, and for this reason can be explicitly disabled on an individual user’s page (default off on user creation). If the site owner has enabled external AI usage, any managed user can use the API or the MCP to access these tools if they are spending their own tokens, subject to their normal site permissions. Create & Organize follow this pattern:
User invokes AI and supplies a prompt and optionally uploads a file or files.
The model requests and assembles permission-checked context and creates a structured proposal.
The application validates the proposal.
The user reviews & executes it.
The application rechecks permissions for each proposed action and applies the approved actions deterministically.
Not every AI feature produces a proposal, but they all require a user to specifically invoke the feature.
AI Features
Organize: Given a bunch of files, AI can create a proposal for attaching those files to pages and tasks, either reusing existing structure or creating categories, projects, forms, pages, and tasks, along with summarizing files, resolving due dates, autofilling forms, etc. Example: ‘Please organize these files’ (screenshot)
Create: Create can propose creating anything that the user has permission to create, including project plans and page documents. It can also use web search. Example: ‘Please create a project for tracking apartment maintenance, and create a category with a form that represents an apartment that I manage’
Ask: Users can ask questions about anything in the workspace that they have permission to read, and AI can assemble an answer from one or many records. Example: ‘How many queens do I have?’ (screenshot)
Form Autofill: Pages and tasks use dynamic forms for structured information. Autofill can use web search, supplied context, and page context in order to fill a form intelligently. Example: Drop a service record onto a task with an attached auto-service form. AI can read the record and fill the form with the record’s details.
Image Generation: A page can have an image, and AI can generate these. It can also generate and insert images into documents.
Form Schema Creation: If you want a page or a task to contain structured data, such as for homework assignments, contacts, movies you’d like to watch, repair events, etc., AI can generate a full form schema for you. If it isn’t perfect, the application’s form builder can edit anything generated by the AI.
Text Generation: Inside a page’s document, you can generate text directly, and the AI will assemble the context it needs from the entire page, including its task list, its attached files, or its form if one is attached. Example: ‘Please suggest some hotels nearby the events I have scheduled over the next few days’
General Principles
AI access is not data access. Usage of AI and what a user is allowed to see and do on the app are separate. However AI is invoked, model-facing retrieval tools cannot retrieve anything the invoking user lacks permission to read.
User permissions do not imply AI access. A user, even a user with very broad permissions, has to be separately approved in order to use the configured site model. Users are not similarly restricted when accessing the site via API/MCP, as such usage is paid for by the user and not the site owner.
Model-facing tools are read-only. There are no AI-accessible tools that can directly apply changes. Broad tools like Create & Organize are proposed first and when executed are deterministically applied after verifying the permissions of the user who requested the proposal, while more specific tools like document text generation or schema creation are invoked by users where they appear, as in the form builder or the document editor, and model output is validated and implemented by the application.
AI-generated plans are rechecked at execution time. If a user asks for an AI proposal and that user’s permissions change in between generation of the proposal and its execution, execution will be blocked. Every proposal action rechecks resource permission upon execution.
Context is page-centric. Since Lagniappe is organized around subjects, supplying useful context has natural application boundaries. Most AI capabilities begin with relatively lean prompts and retrieve details on demand through tool calls.
Context is still delivered to the model. While permissions keep information a user shouldn’t have out of the model’s context, any context sent to a model is by necessity read by that model. Built-in AI calls send permitted context to managed Gemini models, and while Google Cloud’s terms state that customer data is not used to train or fine-tune models without prior permission or instruction, separate retention paths and settings still apply. External API clients use their own provider, whose terms govern how that context is handled. Also keep in mind that all standard AI caveats apply, and there is no guarantee that your results will be free from error, so check its work! AI cannot alter any part of the workspace without your explicit consent, and everything that can be proposed by a model can also be done in the UI.