> Documentation index: https://www.gooddata.ai/docs/gooddata-ui/llms.txt lists every page of these docs as Markdown.

# IAgent

- Package: [@gooddata/sdk-model](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-model/index.md)
- Kind: interface
- Stability: alpha
- Source: https://github.com/gooddata/gooddata-ui-sdk/blob/rel/11.64/libs/sdk-model/src/agentSkill/index.ts

> **Alpha API.** Initial API, highly likely to change outside SemVer. Don't build on it in production. See [API maturity](https://www.gooddata.ai/docs/gooddata-ui/latest/integrations/platform/api-maturity/index.md).
> 

Represents an AI agent entity.

**Signature:**

```typescript
export interface IAgent 
```

## Properties

| Property | Modifiers | Type | Description |
| --- | --- | --- | --- |
| [aiKnowledge?](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-model/sdk-model.iagent/index.md#iagentaiknowledge) |  | boolean | **_(ALPHA)_** _(Optional)_ Whether AI Knowledge base is enabled. |
| [availableToAll?](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-model/sdk-model.iagent/index.md#iagentavailabletoall) |  | boolean | **_(ALPHA)_** _(Optional)_ Whether the agent is available to all users. |
| [createdAt?](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-model/sdk-model.iagent/index.md#iagentcreatedat) |  | string | **_(ALPHA)_** _(Optional)_ Creation timestamp. |
| [createdBy?](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-model/sdk-model.iagent/index.md#iagentcreatedby) |  | [IUser](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-model/sdk-model.iuser/index.md) | **_(ALPHA)_** _(Optional)_ User who created the agent. |
| [customSkills?](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-model/sdk-model.iagent/index.md#iagentcustomskills) |  | [AgentCustomSkill](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-model/sdk-model.agentcustomskill/index.md)[] \| null | **_(ALPHA)_** _(Optional)_ List of custom skills when skillsMode is "custom". |
| [description?](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-model/sdk-model.iagent/index.md#iagentdescription) |  | string | **_(ALPHA)_** _(Optional)_ Agent description. |
| [effectiveSkills?](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-model/sdk-model.iagent/index.md#iagenteffectiveskills) |  | [AgentCustomSkill](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-model/sdk-model.agentcustomskill/index.md)[] | **_(ALPHA)_** _(Optional)_ List of currently effective skills that the agent can use. Its depends of feature flags and allowed skills by agent. Server also can disable skill by some conditions. |
| [enabled?](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-model/sdk-model.iagent/index.md#iagentenabled) |  | boolean | **_(ALPHA)_** _(Optional)_ Whether the agent is enabled. |
| [instructions?](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-model/sdk-model.iagent/index.md#iagentinstructions) |  | [IAgentInstruction](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-model/sdk-model.iagentinstruction/index.md)[] | **_(ALPHA)_** _(Optional)_ Rules the agent follows when answering. An empty list must be sent as undefined — the backend omits the field rather than returning `[]`, so `[]` would read as a change against a fresh agent. |
| [isPreview?](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-model/sdk-model.iagent/index.md#iagentispreview) |  | boolean | **_(ALPHA)_** _(Optional)_ Whether this agent is a preview agent, scoped to a single (user, workspace) pair. The agent id must match the pattern `{userId}-{workspaceId}-preview`. |
| [lastUsedAt?](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-model/sdk-model.iagent/index.md#iagentlastusedat) |  | string | **_(ALPHA)_** _(Optional)_ Last time the agent was used by the current user. |
| [modifiedAt?](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-model/sdk-model.iagent/index.md#iagentmodifiedat) |  | string | **_(ALPHA)_** _(Optional)_ Last modification timestamp. |
| [modifiedBy?](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-model/sdk-model.iagent/index.md#iagentmodifiedby) |  | [IUser](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-model/sdk-model.iuser/index.md) | **_(ALPHA)_** _(Optional)_ User who last modified the agent. |
| [name?](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-model/sdk-model.iagent/index.md#iagentname) |  | string | **_(ALPHA)_** _(Optional)_ Agent name. |
| [personality?](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-model/sdk-model.iagent/index.md#iagentpersonality) |  | string | **_(ALPHA)_** _(Optional)_ Agent personality prompt. |
| [ref](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-model/sdk-model.iagent/index.md#iagentref) |  | [ObjRef](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-model/sdk-model.objref/index.md) | **_(ALPHA)_** Agent reference. |
| [skillsMode?](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-model/sdk-model.iagent/index.md#iagentskillsmode) |  | [AgentSkillsMode](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-model/sdk-model.agentskillsmode/index.md) | **_(ALPHA)_** _(Optional)_ Skills mode - "all" uses all skills, "custom" uses only selected skills. |
| [userGroups?](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-model/sdk-model.iagent/index.md#iagentusergroups) |  | [IUserGroup](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-model/sdk-model.iusergroup/index.md)[] | **_(ALPHA)_** _(Optional)_ User groups the agent is associated with. |

## Property details

### IAgent.aiKnowledge

> **Alpha API.** Initial API, highly likely to change outside SemVer. Don't build on it in production. See [API maturity](https://www.gooddata.ai/docs/gooddata-ui/latest/integrations/platform/api-maturity/index.md).
> 

Whether AI Knowledge base is enabled.

**Signature:**

```typescript
aiKnowledge?: boolean;
```

### IAgent.availableToAll

> **Alpha API.** Initial API, highly likely to change outside SemVer. Don't build on it in production. See [API maturity](https://www.gooddata.ai/docs/gooddata-ui/latest/integrations/platform/api-maturity/index.md).
> 

Whether the agent is available to all users.

**Signature:**

```typescript
availableToAll?: boolean;
```

### IAgent.createdAt

> **Alpha API.** Initial API, highly likely to change outside SemVer. Don't build on it in production. See [API maturity](https://www.gooddata.ai/docs/gooddata-ui/latest/integrations/platform/api-maturity/index.md).
> 

Creation timestamp.

**Signature:**

```typescript
createdAt?: string;
```

### IAgent.createdBy

> **Alpha API.** Initial API, highly likely to change outside SemVer. Don't build on it in production. See [API maturity](https://www.gooddata.ai/docs/gooddata-ui/latest/integrations/platform/api-maturity/index.md).
> 

User who created the agent.

**Signature:**

```typescript
createdBy?: IUser;
```

### IAgent.customSkills

> **Alpha API.** Initial API, highly likely to change outside SemVer. Don't build on it in production. See [API maturity](https://www.gooddata.ai/docs/gooddata-ui/latest/integrations/platform/api-maturity/index.md).
> 

List of custom skills when skillsMode is "custom".

**Signature:**

```typescript
customSkills?: AgentCustomSkill[] | null;
```

### IAgent.description

> **Alpha API.** Initial API, highly likely to change outside SemVer. Don't build on it in production. See [API maturity](https://www.gooddata.ai/docs/gooddata-ui/latest/integrations/platform/api-maturity/index.md).
> 

Agent description.

**Signature:**

```typescript
description?: string;
```

### IAgent.effectiveSkills

> **Alpha API.** Initial API, highly likely to change outside SemVer. Don't build on it in production. See [API maturity](https://www.gooddata.ai/docs/gooddata-ui/latest/integrations/platform/api-maturity/index.md).
> 

List of currently effective skills that the agent can use. Its depends of feature flags and allowed skills by agent. Server also can disable skill by some conditions.

**Signature:**

```typescript
effectiveSkills?: AgentCustomSkill[];
```

### IAgent.enabled

> **Alpha API.** Initial API, highly likely to change outside SemVer. Don't build on it in production. See [API maturity](https://www.gooddata.ai/docs/gooddata-ui/latest/integrations/platform/api-maturity/index.md).
> 

Whether the agent is enabled.

**Signature:**

```typescript
enabled?: boolean;
```

### IAgent.instructions

> **Alpha API.** Initial API, highly likely to change outside SemVer. Don't build on it in production. See [API maturity](https://www.gooddata.ai/docs/gooddata-ui/latest/integrations/platform/api-maturity/index.md).
> 

Rules the agent follows when answering. An empty list must be sent as undefined — the backend omits the field rather than returning `[]`, so `[]` would read as a change against a fresh agent.

**Signature:**

```typescript
instructions?: IAgentInstruction[];
```

### IAgent.isPreview

> **Alpha API.** Initial API, highly likely to change outside SemVer. Don't build on it in production. See [API maturity](https://www.gooddata.ai/docs/gooddata-ui/latest/integrations/platform/api-maturity/index.md).
> 

Whether this agent is a preview agent, scoped to a single (user, workspace) pair. The agent id must match the pattern `{userId}-{workspaceId}-preview`.

**Signature:**

```typescript
isPreview?: boolean;
```

### IAgent.lastUsedAt

> **Alpha API.** Initial API, highly likely to change outside SemVer. Don't build on it in production. See [API maturity](https://www.gooddata.ai/docs/gooddata-ui/latest/integrations/platform/api-maturity/index.md).
> 

Last time the agent was used by the current user.

**Signature:**

```typescript
lastUsedAt?: string;
```

### IAgent.modifiedAt

> **Alpha API.** Initial API, highly likely to change outside SemVer. Don't build on it in production. See [API maturity](https://www.gooddata.ai/docs/gooddata-ui/latest/integrations/platform/api-maturity/index.md).
> 

Last modification timestamp.

**Signature:**

```typescript
modifiedAt?: string;
```

### IAgent.modifiedBy

> **Alpha API.** Initial API, highly likely to change outside SemVer. Don't build on it in production. See [API maturity](https://www.gooddata.ai/docs/gooddata-ui/latest/integrations/platform/api-maturity/index.md).
> 

User who last modified the agent.

**Signature:**

```typescript
modifiedBy?: IUser;
```

### IAgent.name

> **Alpha API.** Initial API, highly likely to change outside SemVer. Don't build on it in production. See [API maturity](https://www.gooddata.ai/docs/gooddata-ui/latest/integrations/platform/api-maturity/index.md).
> 

Agent name.

**Signature:**

```typescript
name?: string;
```

### IAgent.personality

> **Alpha API.** Initial API, highly likely to change outside SemVer. Don't build on it in production. See [API maturity](https://www.gooddata.ai/docs/gooddata-ui/latest/integrations/platform/api-maturity/index.md).
> 

Agent personality prompt.

**Signature:**

```typescript
personality?: string;
```

### IAgent.ref

> **Alpha API.** Initial API, highly likely to change outside SemVer. Don't build on it in production. See [API maturity](https://www.gooddata.ai/docs/gooddata-ui/latest/integrations/platform/api-maturity/index.md).
> 

Agent reference.

**Signature:**

```typescript
ref: ObjRef;
```

### IAgent.skillsMode

> **Alpha API.** Initial API, highly likely to change outside SemVer. Don't build on it in production. See [API maturity](https://www.gooddata.ai/docs/gooddata-ui/latest/integrations/platform/api-maturity/index.md).
> 

Skills mode - "all" uses all skills, "custom" uses only selected skills.

**Signature:**

```typescript
skillsMode?: AgentSkillsMode;
```

### IAgent.userGroups

> **Alpha API.** Initial API, highly likely to change outside SemVer. Don't build on it in production. See [API maturity](https://www.gooddata.ai/docs/gooddata-ui/latest/integrations/platform/api-maturity/index.md).
> 

User groups the agent is associated with.

**Signature:**

```typescript
userGroups?: IUserGroup[];
```
