> ## Documentation Index
> Fetch the complete documentation index at: https://docs.genesiscomputing.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Setup Custom Endpoints

> A guide for creating, managing, and deleting custom endpoints to integrate external services or APIs into Genesis workflows.

## **Overview**

### **Purpose**

Setup Custom Endpoints provides a way to define and maintain connections to external APIs or services under distinct groups (e.g., “jira,” “slack,” or proprietary systems). This feature allows Genesis bots or workflows to communicate with any service by referencing these custom endpoints, simplifying integration and centralizing external API management.

**1. Add Endpoints**

Create new endpoint entries by specifying a group name (e.g., "jira") and an API base URL.

**2. Organize Endpoints**

View, group, and manage external API links in a centralized interface.

**3. Delete Groups**

Cleanly remove no-longer-needed endpoint groups along with their URLs.

## **Use Cases**

1. **External API Integration**

   * Seamlessly link to third-party services like Jira, Slack, or proprietary systems.

   * *Example:* A user adds a group named `"jira"` with the endpoint `"https://yourcompany.atlassian.net"` for ticket management.

2. **Workflow Automation**

   * With endpoints in place, bots can fetch or post data to external services.

   * *Example:* A Slack integration group to send messages or announcements from a Genbot.

3. **Dynamic Communication**

   * Real-time data retrieval or push notifications to external APIs.

   * *Example:* Querying a weather API (group `"weather"`) then incorporating the results into daily updates.

4. **Organization of Integrations**

   * Grouping endpoints by name (e.g., `"customerAPI"`, `"analytics"`) to easily manage multiple external connections.

   * *Example:* Large-scale project with various microservices all listed under separate group names.

> [!WARNING]
>
> **IMPORTANT**
> Double-check that no sensitive credentials appear in the endpoint URL. Use headers or secure tokens for authentication.

## **Workflow/How It Works**

1. **Step 1: Navigate to the Custom Endpoints Page**

   * Access the “Setup Custom Endpoints” area; locate “Add a New Endpoint,” “Endpoints by Group,” and “Delete Group.”

2. **Step 2: Add a New Endpoint**

   * Provide a **group\_name** (e.g., `"jira"`) and the **endpoint\_url** (e.g., `"https://yourcompany.atlassian.net"`).

   * Click “Add Endpoint.”

3. **Step 3: Verify Endpoint**

   * In the “Endpoints by Group” table, confirm your group name and URL are listed.

   * The columns might show “Group Name” and “Endpoints.”

4. **Step 4: (Optional) Generate EAI and approve access**

   * Some interfaces have a “Generate EAI” button to create usage instructions or identifiers.

   * In Snowflake / SPCS deployments, use **Approve External Access** and then **Assign to Genesis** when those actions are shown.

   * After you click **Assign to Genesis**, Genesis rechecks the assignment immediately and shows the success state as soon as the EAI is ready.

   * When Genesis shows Snowflake account endpoint values for these instructions,
     bare account identifiers resolve to `<account>.snowflakecomputing.com:443`.
     If your Snowflake connection uses a full public account host or URL,
     Genesis keeps that public host instead, including
     `snowflakecomputing.cn`, `snowflakecomputing.app`, and `snowflake.app`
     suffixes. PrivateLink deployments show the detected PrivateLink account
     host instead so the generated endpoint matches your Snowflake routing.

   * In PrivateLink SPCS deployments, the approval link also opens the matching
     PrivateLink Snowsight host instead of the public `https://app.snowflake.com`
     page.

   * Review the generated material to integrate your new endpoint in relevant workflows.

5. **Step 5: Manage or Delete Endpoints**

   * If needed, remove a group via the “Delete Group” dropdown and button.

   * To update an endpoint, typically delete the group and re-add with correct details.

6. **Step 6: Use Endpoints in Workflows**

   * Reference the group name or endpoint in automation steps to fetch/post data.

   * Example: Bot referencing the “jira” group to call “/rest/api/3/issue/” subpaths for ticket creation.

> [!NOTE]
>
> **NOTE**
> Group names should match the service (e.g., “slack”, “jira”) for simpler referencing in your logic or code.

## **Integration Relevance**

* **ETL & Reporting**: Connect to external data sources or push results to remote systems.

* **Project Tracking**: E.g., a “jira” group for ticket operations, or “asana” for tasks.

* **Workflow Automation**: Combine with existing tools to incorporate new, custom integrations with minimal overhead.

## **Configuration Details**

* **API Authentication**: Typically, you handle credentials (tokens, OAuth) in your workflow’s request headers—this tool focuses on the base URL.

* **Group Name**: Reflect the service usage or domain for quick identification (e.g., “weatherAPI”, “analyticsService”).

* **Security**: Endpoints might be behind authentication layers or proxies—ensure you handle tokens or keys in a secure manner.

## **Limitations or Notes**

1. **Endpoint URLs**

   * Must include `https://` for secure requests; incomplete or invalid URLs can fail.

2. **Manual Reconfiguration**

   * If an endpoint changes (like domain shifts), you must update or delete the old group and re-add the new details.

3. **Generating EAI**

   * Instructions produced are typically generic; tailor them to your environment or workflow requirements.

### **Output**

* **Endpoint Registration**

  * Confirmation message after adding or deleting a group/endpoint.

* **Group Table**

  * A list of endpoint groups and associated URLs for reference.

* **EAI Instructions**

  * If “Generate EAI” is used, documentation describing how to incorporate the new endpoint within your processes.

### How It Works

By organizing external service URLs under specific group names, the system references “custom endpoints” in your automation. For instance, a group named `"slack"` with an endpoint of `"https://slack.com/api/"` allows your bots to easily form requests (`https://slack.com/api/chat.postMessage`) without repeatedly specifying the entire base path.

**Example**

1. The user adds an endpoint group:

   * Group: `"jira"`

   * Endpoint: `"https://yourcompany.atlassian.net"`

2. Then, an internal workflow or bot references `"jira"` to construct `GET /rest/api/3/search?jql=...`, appending it to the stored base URL.
