# Felt

Felt is a modern GIS platform that allows users to create, modify, and share interactive maps, integrating powerful mapping capabilities into various workflows and applications.

- **Category:** developer tools
- **Auth:** API_KEY
- **Composio Managed App Available?** N/A
- **Tools:** 15
- **Triggers:** 0
- **Slug:** `FELT`
- **Version:** 20260227_00

## Tools

### Create or Update Elements

**Slug:** `FELT_CREATE_OR_UPDATE_ELEMENTS`

Create or update map elements using GeoJSON FeatureCollection format. Creates new elements by default; to update existing elements, include 'felt:id' in the feature's properties. Supports Point, LineString, Polygon, and Multi-type geometries. Returns the created/updated elements with assigned IDs and Felt-specific properties.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `type` | string | Yes | Must be 'FeatureCollection' |
| `map_id` | string | Yes | Unique identifier of the map to modify |
| `features` | array | Yes | Array of GeoJSON Feature objects representing elements to create or update |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Project

**Slug:** `FELT_CREATE_PROJECT`

Create a new Felt project with the specified name and visibility settings. Projects are organizational containers for grouping related maps within a workspace.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | The name to be used for the Project. |
| `visibility` | string ("workspace" | "private") | Yes | Project visibility: "workspace" (viewable by all members of the workspace) or "private" (only viewable by invited users). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Element

**Slug:** `FELT_DELETE_ELEMENT`

Tool to delete a specific element from a map. Use when you have both map and element IDs and need to remove the element permanently.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `map_id` | string | Yes | The unique identifier of the map containing the element to delete. |
| `element_id` | string | Yes | The unique identifier of the element to delete. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Layer

**Slug:** `FELT_DELETE_LAYER`

Tool to delete a specific layer from a map. Use when you have the map's and layer's IDs and need to remove it permanently.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `map_id` | string | Yes | The unique identifier of the map containing the layer to delete. |
| `layer_id` | string | Yes | The unique identifier of the layer to delete. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Map

**Slug:** `FELT_DELETE_MAP`

Permanently deletes a map and all its associated data from Felt. WARNING: This action cannot be undone. The map and all its layers, elements, and comments will be permanently removed. Use when you have the map's ID and need to permanently remove it. Returns no content (HTTP 204) on success.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `map_id` | string | Yes | The unique identifier of the map to delete. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Project

**Slug:** `FELT_DELETE_PROJECT`

Tool to delete a project and all its contents. Use when you need to permanently remove a project after confirmation.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `project_id` | string | Yes | The ID of the project to be deleted. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Duplicate Map

**Slug:** `FELT_DUPLICATE_MAP`

Creates a complete copy of a Felt map including all layers, elements, and configuration. Use when you need to clone an existing map to a new location or create a template-based map. The duplicated map can optionally be placed in a specific project or folder.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `title` | string | No | Optional title for the duplicated map. If not provided, defaults to '[Original Title] (copy)' |
| `map_id` | string | Yes | Unique identifier of the map to duplicate |
| `destination` | object | No | Destination configuration for the duplicated map. Must specify either project_id or folder_id. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Map Details

**Slug:** `FELT_GET_MAP_DETAILS`

Retrieves comprehensive details of a specific Felt map including title, URL, layers, elements, basemap settings, access permissions, and timestamps. Requires a valid map ID. Use this when you need to: - Get complete map configuration and metadata - Access map layers and elements - Check map permissions and access settings - Retrieve map URLs for sharing

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `map_id` | string | Yes | Unique identifier for the map to retrieve. Format: alphanumeric string (e.g., 'TJRl4cNyS12T5z8qM3JRnA') |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get User Details

**Slug:** `FELT_GET_USER_DETAILS`

Tool to retrieve information about the authenticated user. Use after obtaining a valid token to fetch user profile details.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Element Groups

**Slug:** `FELT_LIST_ELEMENT_GROUPS`

Retrieves all element groups from a Felt map. Element groups are collections of geographic features (points, lines, polygons) organized together. Each group returns a GeoJSON FeatureCollection with the group's elements, along with styling properties like color and symbol. Use this when you need to discover what element groups exist on a map or access grouped geographic data.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `map_id` | string | Yes | The unique identifier for the map. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Elements

**Slug:** `FELT_LIST_ELEMENTS`

Lists all elements on a specific map as a GeoJSON FeatureCollection. Returns elements that are not in element groups. Use when you need to retrieve the map's direct elements after obtaining a valid map_id.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `map_id` | string | Yes | Unique identifier of the map to list elements from. Elements not in element groups will be returned. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Layers

**Slug:** `FELT_LIST_LAYERS`

Tool to list all layers on a specific map. Returns all layers present on the map with their complete metadata including status, geometry type, styling, and attributes. Use this when you need to inspect or enumerate the data layers on a map.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `map_id` | string | Yes | The unique identifier for the map. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Projects

**Slug:** `FELT_LIST_PROJECTS`

Tool to retrieve a list of projects accessible to the user. Use when you need to browse or select from existing projects before proceeding.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `workspace_id` | string | No | Workspace ID to filter projects for a specific workspace |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Sources

**Slug:** `FELT_LIST_SOURCES`

List all data sources (external data connections) accessible to the authenticated user. Sources represent connections to external data providers like BigQuery, PostgreSQL, S3, Snowflake, etc. Use this to discover available sources before importing data from them into Felt maps. Each source includes sync status, connection type, and access permissions.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `workspaceId` | string | No | Filter sources by workspace ID. Only needed when using the API as part of a plugin. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Project

**Slug:** `FELT_UPDATE_PROJECT`

Tool to update an existing project's name or visibility. Use after confirming the project_id.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | No | The new name for the project |
| `project_id` | string | Yes | ID of the project to update |
| `visibility` | string | No | Project visibility: 'workspace' (viewable by all workspace members) or 'private' (only invited users) |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |
