Creating a Neo Code Agent ========================= .. Screenshot needed: the Remote Agent Details form in create mode (neo-code-agent-create-form.png) From **Home**, click the **+** button in the top right, choose the **Remote Agent** card, and click **New**. Fill in **Basic Information** and **Deployment Configuration**, then save with the icon button in the top-right corner of the card. Basic Information ------------------ .. list-table:: :widths: 20 12 68 :header-rows: 1 * - Field - Required - Description * - **Name** - Yes - Identifies the agent throughout the platform. * - **Description** - Yes - A brief statement of the agent's role or purpose. Replace the pre-filled text with something meaningful to your team. Deployment Configuration ------------------------- Choose a **Deployment Type** — **External URL** to point Neo at a service you host, or **EKS Deployment** to have Neo run your container. Each option asks for a different set of fields. External URL ~~~~~~~~~~~~~ **Agent Service URL** — where your service is hosted, for example ``https://your-agent-service.com`` or ``http://localhost:8080``. Enter a well-formed HTTP or HTTPS address; a hostname, ``localhost``, or an IP address is accepted, with an optional port. Your service must answer the endpoint described in :doc:`service_contract`. Neo calls it directly. **API endpoints panel.** Click **Fetch** to request ``/openapi.json`` from the address you entered and list the operations it finds. Use it to confirm you have pointed Neo at the right service. The fetch runs from your browser and times out after 10 seconds, so a service that allows Neo but restricts browser origins through CORS will not list its operations here even though it works at runtime. EKS Deployment ~~~~~~~~~~~~~~~ Provide a container image and its runtime settings. .. list-table:: :widths: 26 12 62 :header-rows: 1 * - Field - Required - Description * - **Image URI** - Yes - The Docker image in AWS ECR, for example ``123456789012.dkr.ecr.us-east-1.amazonaws.com/my-agent``. * - **Image Tag** - Yes - Version tag for the image, for example ``v1.0.0``. Defaults to ``latest``. * - **IAM Role ARN** - Yes - The AWS IAM role the service account assumes, for example ``arn:aws:iam::123456789012:role/custom-agent-role``. * - **Container Port** - Yes - The port your container listens on. Use ``8080``. * - **Resource Limits** - Yes - CPU and memory as JSON, for example ``{"limits": {"cpu": "1", "memory": "1Gi"}, "requests": {"cpu": "500m", "memory": "512Mi"}}``. * - **Environment Variables** - No - JSON map injected into the container, for example ``{"LOG_LEVEL": "info", "API_TIMEOUT": "30"}``. Supply any secrets your agent needs here. * - **Node Selector** - No - JSON constraint on scheduling, for example ``{"eks.amazonaws.com/nodegroup": "c5-xlarge-ng-new"}``. * - **Autoscaling Configuration** - No - JSON autoscaler settings, for example ``{"enabled": true, "min_replicas": 1, "max_replicas": 5, "target_cpu": 70}``. .. note:: **Resource Limits**, **Environment Variables**, **Node Selector**, and **Autoscaling Configuration** each take well-formed JSON. Reopen the agent after saving to confirm the values are as you entered them. After Saving ------------- You land on the agent's **Settings** page. If you chose EKS, the deploy starts straight away — see :doc:`deployment` to follow its progress. From here, publish a version so the agent can serve traffic, and check who has access: * :doc:`settings_and_publishing` — output fields, KPIs, execution policy, versioning, and publishing * :doc:`monitoring` — conversations, analytics, traces, and the run API * :doc:`permissions` — who can create, edit, deploy, and monitor the agent