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

# Tool Filtering

> Filter tools when using the StackOne Python AI SDK

The StackOne SDK provides glob-based filtering capabilities to help you select and manage specific tools across different SaaS platforms.

## What Tool Filtering Enables

Tool filtering allows you to:

* Select tools by provider (e.g., Salesforce, Gmail, Workday)
* Filter by specific actions (create, read, update, delete)
* Combine multiple patterns for precise selection
* Exclude specific tools or patterns

## Basic Filtering Patterns

### By Provider

* `salesforce_*` - Salesforce CRM
* `gmail_*` - Gmail & Calendar
* `workday_*` - Workday HCM

### By Action

* `*_create_*` - All create operations
* `*_list_*` - All list operations
* `*_get_*` - All get operations

### Combined Patterns

* `hibob_list_*` - HiBob list operations only
* `workday_update_*` - Workday update operations only

## Use Cases

1. **Cross-Domain Agents**: Let assistants reliably interact with whatever tools (CRMs, ERPs, comms suites, etc.) are available for the current account
2. **Operation-Focused Tools**: Create specialized agents for read-only or write operations
3. **Custom Tool Sets**: Combine multiple patterns for precise control
4. **Performance Optimization**: Load only the tools your agent actually needs

## Python Naming Conventions

### Tool Name Structure

StackOne tools follow the pattern: `provider_operation_entity`

```python theme={null}
from stackone_ai import StackOneToolSet

toolset = StackOneToolSet()
account_id = "your-account-id"

# Filter by provider prefix
hibob_tools = toolset.fetch_tools(actions=["hibob_*"], account_ids=[account_id])

# Filter by action
create_tools = toolset.fetch_tools(actions=["*_create_*"], account_ids=[account_id])

# Filter by entity keywords
employee_tools = toolset.fetch_tools(actions=["*employee*"], account_ids=[account_id])
```

### Common Patterns

**By Connector** (using their individual keys, eg. `workday`, `netsuite`, `gmail` `salesforce` and hundreds more)

* `hibob_*` - HiBob
* `workday_*` - Workday
* `greenhouse_*` - Greenhouse

**By Operation:**

* `*_list_*` - Get multiple records
* `*_get_*` - Get single record
* `*_create_*` - Create new record
* `*_update_*` - Update existing record

**By Entity:**

* `*employee*` - Employee operations
* `*candidate*` - Candidate operations
* `*contact*` - Contact operations

## Examples

For complete implementation examples, see:

* [Python Examples on GitHub](https://github.com/StackOneHQ/stackone-ai-python/tree/main/examples)
* [Tool Search](/agents/python/tool-search) - Natural language tool discovery
* [LangChain Integration](/agents/python/frameworks/langchain-integration) - Use filtered tools
