Skip to main content
The SDK ships Provider adapters that convert Engini tool schemas into each vendor’s tool-calling format, parse the model’s tool calls, and format results back - without depending on the vendor’s SDK.

Pick a provider

The agent loop (Anthropic)

A complete working loop, from the repo’s Salesforce CRM agent example:
handle_tool_calls parses the vendor response, executes each call through the toolset’s connections, and returns vendor-formatted result messages. Per-call tool failures come back as structured error results (the batch continues); systemic errors (auth, network, server) raise.

The agent loop (OpenAI)

OpenAI is the default provider, so no configuration is needed:

Low-level: no Toolset

If you want full control, the provider primitives compose with plain tools.execute:
The Provider contract is four methods - wrap_tool(s), parse_tool_calls, format_tool_result - so adding another vendor is a small class, not a rewrite.