Settings and Publishing ======================== Settings is where you configure a Neo Code Agent in the platform. Clicking the agent's card on **Home** takes you straight to it. .. Screenshot needed: the Remote Agent Settings page with its left-hand section nav (neo-code-agent-settings.png) The Settings Sections ---------------------- A left-hand navigation lists the sections present on the page. .. list-table:: :widths: 30 70 :header-rows: 1 * - Section - What it is for * - **Basic Information** - Name and description. See :doc:`creating`. * - **Deployment Configuration** - Where the agent runs. See :doc:`creating` and :doc:`deployment`. * - **Output Details** - Declares the structured fields the agent returns, so the platform can read them. * - **KPIs** - Business metrics computed from those output fields. * - **Execution Permissions** - Which identity the agent uses to reach resources at runtime. Visible to the agent's owner only. Editing Requires Edit Mode --------------------------- An existing Neo Code Agent is read-only until you take **edit mode** using the toggle in the page header. Only one person can hold edit mode at a time. Users with the **Force Unlock** permission can take it back if a colleague has left it held. .. note:: The header actions — edit mode, **Share**, version history, and **Review & Publish** — appear on the **Settings** tab only. Return to Settings to publish or change edit mode. Output Details --------------- Use the **+** button to declare each field your agent returns. Declaring outputs makes those values available to KPIs and to the platform's reporting. Publish the agent before adding output fields. KPIs ----- KPIs turn the agent's outputs into business measures. Add them with **+**. A KPI reads from an output field, so define your outputs first. Execution Permissions ---------------------- Visible only to the agent's **owner**, this section chooses the identity the agent uses when it reaches platform resources at runtime. .. list-table:: :widths: 24 76 :header-rows: 1 * - Option - Effect * - **Flow Owner** - Resources are accessed as the owner, whoever runs the agent. * - **Executing User** - Resources are accessed as the person who invoked the agent, so their own entitlements apply. * - **Custom Policy** - A named access policy governs runtime access. Choose, then click **Save Execution Policy**. Prefer **Executing User** where each caller should only reach their own data, and **Flow Owner** where the agent needs consistent access regardless of caller. Versioning and Publishing -------------------------- A Neo Code Agent is versioned like any other agent, and **needs a published version before it can serve traffic**. Version history is reached from the header on the Settings tab. Publishing runs through the **Review & Publish** popover: .. list-table:: :widths: 8 24 68 :header-rows: 1 * - Step - Control - What happens * - 1 - **Validate** - Checks the agent and reports **Valid** or **Invalid**. **Request Review** stays disabled until this has run. * - 2 - **Request Review** - Sends the version for approval. * - 3 - **Review** - A reviewer adds an optional comment, then **Approve** or **Reject**. * - 4 - **Publish to** - Publishes the approved version to **EKS**. .. note:: Test your endpoint yourself before publishing — send it a request and confirm the response, as described in :doc:`service_contract`. If the publish controls are unavailable, check that you are in edit mode, that no one else is editing the agent, that you are viewing the current version rather than a historical one, and that there is an unpublished version to publish. Sharing and Ownership ---------------------- **Share** — available to the owner from the header and from the card's **…** menu — grants colleagues access to this specific agent. It sits alongside role-based permissions: a role decides whether someone may work with Neo Code Agents at all, while sharing decides which individual agents they can reach. See :doc:`permissions`. Other Card Actions ------------------- The **…** menu on the agent's card on **Home** offers **Settings**, **Share** (owner), **Enable Agent** / **Disable Agent**, **Duplicate**, **Deploy** / **Undeploy** for EKS agents, and delete. Use **Duplicate** to copy an agent's configuration into a new one.