inference.sh provides hundreds of pre-built integrations as tools for your agents. oauth flows, token refresh, and credential management are handled by the platform.
the integration tax
every tool your agent needs is an integration project:
- implement the api calls
- handle authentication (often oauth)
- manage token storage and refresh
- handle rate limits and errors
- maintain as apis change
multiply this by every tool your agent needs. the integration work can exceed the agent work.
what the runtime provides
on inference.sh, integrations are ready to use:
| category | examples |
|---|---|
| communication | gmail, slack, discord, x |
| productivity | google calendar, notion, github |
| data | google sheets, databases, file storage |
| search | web search, knowledge bases |
| ai | image generation, transcription |
connect once in workspace settings. your agents use them without additional code.
managed authentication
for each integration:
- oauth flows are handled
- tokens are stored securely (aes-256-gcm)
- refresh happens automatically
- credentials are injected at runtime
your agent code never touches credentials.
structured execution
tool calls are:
- logged with full inputs and outputs
- timed for performance analysis
- retried on transient failures
- subject to approval gates when configured
building custom tools
need something not in the library? build custom tools with the sdk:
1from inferencesh import Tool23@Tool4def my_custom_tool(param: str) -> str:5 """description for the agent"""6 # your implementation7 return resultcustom tools get the same runtime benefits: logging, retries, approval gates.
tool types in one agent
Agents combine several tool kinds. The runtime schedules them through the same dependency graph — parallel when the model emits multiple calls in one turn, sequential across turns.
| Type | What it runs | Typical use |
|---|---|---|
| Grid / app | inference.sh app (POST /run) | Image gen, transcription, your deployed apps |
| Flow | Multi-step flow as one tool | Pipelines you built in the flow editor |
| Call | HTTP request you define (REST APIs) | Internal services, third-party APIs with secrets |
| Connector (MCP) | Tool on a connected MCP server | Linear, Slack, GitHub, etc. |
| Sub-agent | Another agent in its own chat | Research, writing, specialized workers |
| Webhook | Your HTTP endpoint (async callback) | Email, tickets, custom integrations |
Call and connector tools use team secrets or OAuth — credentials never appear in the model context. Sub-agent and app runs are async: the parent turn waits at a sync barrier until every call in that turn completes.
→ Call tools
→ Connectors
→ Sub-agents — parallel fan-out and join behavior
→ Adding tools