diff --git a/independent-publisher-connectors/AuthBinder/README.md b/independent-publisher-connectors/AuthBinder/README.md new file mode 100644 index 0000000000..942998b377 --- /dev/null +++ b/independent-publisher-connectors/AuthBinder/README.md @@ -0,0 +1,63 @@ +AuthBinder +Overview +AuthBinder is an AI agent audit platform. It captures telemetry from your AI agents — tool calls, external connections, actions taken, and approvals — and delivers a structured risk and compliance report. +Use this connector to log events from your Copilot Studio agents or Power Automate flows directly to AuthBinder for analysis. Every tool call, API connection, or automated action your agent performs can be captured, risk-scored, and reviewed by an analyst. +Prerequisites +Before using this connector you will need: +An AuthBinder account. Sign up at authbinder.com +An active audit package (Baseline or Business) +Your AuthBinder API key and Tenant ID, provided after purchase +How to get credentials +Visit authbinder.com and select an audit package +Complete checkout +Your Tenant ID and API key are displayed immediately after payment and included in your confirmation email +Your API key starts with `ab_live_` — keep it secure and do not share it +Supported operations +Log Agent Event +Send a single telemetry event from your AI agent to AuthBinder. Use this action each time your agent calls a tool, accesses an external service, or performs an action you want to audit. +Required inputs: +Tenant ID — your AuthBinder tenant identifier +Agent ID — a consistent identifier for your agent +Tool — the name of the tool or action called (e.g. `email_sender`, `crm_lookup`) +Optional inputs: +Destination — the external system the tool connected to (e.g. `gmail`, `sharepoint`) +Action — the type of action performed (e.g. `read`, `write`, `send`, `delete`) +Human Approved — whether a human explicitly approved this action before execution +Success — whether the tool call completed successfully +User ID — the user who triggered the agent action +Duration — how long the tool call took in milliseconds +Timestamp — when the event occurred (defaults to current time if omitted) +Output: +Event ID — unique identifier for the logged event +Risk Level — AuthBinder's risk assessment: `low`, `medium`, `high`, or `critical` +Timestamp — when the event was recorded +Log Agent Events (Batch) +Send up to 500 telemetry events in a single call. Use this when your agent performs multiple actions in sequence and you want to log them together efficiently. +Get Connection Status +Check whether your agent is successfully connected to AuthBinder and how many events have been received. Use this to verify your integration is working correctly. +Example use case — Copilot Studio agent audit +A business uses a Copilot Studio agent to handle customer service requests. The agent can look up customer records in Dynamics 365, send emails, and update cases. +With this connector added to the agent's Power Automate flow: +Each time the agent calls a tool, a `Log Agent Event` action fires automatically +AuthBinder receives the event, scores its risk level, and stores it +At the end of the audit window, an AuthBinder analyst reviews all activity +The customer receives a structured risk report covering tool usage, unapproved actions, and behavioural anomalies +Supported frameworks +This connector works with any Copilot Studio agent or Power Automate flow. For Python-based agents using LangChain, CrewAI, AutoGen, LlamaIndex, or Haystack, use the AuthBinder Python SDK instead. +Known limitations +Maximum 500 events per batch call +Events must include a valid Tenant ID matching your authenticated API key +API keys are scoped to a single tenant — do not share keys across organisations +Audit window duration depends on your package: 48 hours (Baseline) or 7 days (Business) +Connector configuration +Parameter Required Description +API Key Yes Your AuthBinder API key starting with `ab_live_` +API documentation +For API documentation and integration guides, contact info@getauthbinder.com +Support +For connector support, contact info@getauthbinder.com +For general account support, visit authbinder.com +Privacy policy +authbinder.com/privacy +Terms of service +authbinder.com/terms diff --git a/independent-publisher-connectors/AuthBinder/apiDefinition.swagger.json b/independent-publisher-connectors/AuthBinder/apiDefinition.swagger.json new file mode 100644 index 0000000000..5196ca6a08 --- /dev/null +++ b/independent-publisher-connectors/AuthBinder/apiDefinition.swagger.json @@ -0,0 +1,336 @@ +{ + "swagger": "2.0", "x-ms-connector-metadata": [{"propertyName": "Website", "propertyValue": "https://authbinder.com"}, {"propertyName": "Privacy policy", "propertyValue": "https://authbinder.com/privacy"}, {"propertyName": "Categories", "propertyValue": "AI;Security"}], "x-ms-iconBrandColor": "#da3b01", + "info": { + "title": "AuthBinder (Independent Publisher)", + "description": "AuthBinder is an AI agent audit platform. Connect your Copilot Studio agents or Power Automate flows to capture tool call telemetry, score behavioural risk, and receive a structured compliance report delivered by a security analyst. AuthBinder helps organisations meet their duty of care obligations under modern product liability laws by identifying AI agent behaviours that could expose them to regulatory penalties or criminal liability.", + "version": "1.0.0", + "contact": { + "name": "AuthBinder", + "email": "info@getauthbinder.com", + "url": "https://authbinder.com" + } + }, + "host": "authbinder-prod-api.azurewebsites.net", + "basePath": "/", + "schemes": ["https"], + "consumes": ["application/json"], + "produces": ["application/json"], + "securityDefinitions": { + "apiKey": { + "type": "apiKey", + "in": "header", + "name": "X-API-Key", + "description": "Your AuthBinder API key. Obtained from the AuthBinder portal after purchasing an audit package." + } + }, + "security": [ + { + "apiKey": [] + } + ], + "paths": { + "/events": { + "post": { + "summary": "Log Agent Event", + "description": "Send a single telemetry event from your AI agent to AuthBinder. Use this action each time your agent calls a tool, accesses an external service, or performs an action you want to audit.", + "operationId": "LogAgentEvent", + "parameters": [ + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/EventIngest" + } + } + ], + "responses": { + "201": { + "description": "Event successfully logged", + "schema": { + "$ref": "#/definitions/EventResponse" + } + }, + "401": { + "description": "Unauthorized - invalid or missing API key" + }, + "403": { + "description": "Forbidden - tenantId does not match authenticated tenant" + }, + "422": { + "description": "Validation error - missing or invalid fields" + } + }, + "security": [ + { + "apiKey": [] + } + ] + } + }, + "/events/batch": { + "post": { + "summary": "Log Agent Events (Batch)", + "description": "Send up to 500 telemetry events in a single call. Use this action when your agent performs multiple actions in sequence and you want to log them together.", + "operationId": "LogAgentEventsBatch", + "parameters": [ + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "#/definitions/EventBatch" + } + } + ], + "responses": { + "202": { + "description": "Batch accepted for processing", + "schema": { + "$ref": "#/definitions/BatchResponse" + } + }, + "401": { + "description": "Unauthorized - invalid or missing API key" + }, + "422": { + "description": "Validation error - missing or invalid fields" + } + }, + "security": [ + { + "apiKey": [] + } + ] + } + }, + "/connection-status": { + "get": { + "summary": "Get Connection Status", + "description": "Check whether your agent is successfully connected to AuthBinder and how many events have been received. Use this to verify your integration is working.", + "operationId": "GetConnectionStatus", + "parameters": [], + "responses": { + "200": { + "description": "Connection status retrieved successfully", + "schema": { + "$ref": "#/definitions/ConnectionStatus" + } + }, + "401": { + "description": "Unauthorized - invalid or missing API key" + } + }, + "security": [ + { + "apiKey": [] + } + ] + } + }, + "/health": { + "get": { + "summary": "Health Check", + "description": "Check that the AuthBinder API is running and reachable.", + "operationId": "HealthCheck", + "parameters": [], + "responses": { + "200": { + "description": "API is healthy", + "schema": { + "$ref": "#/definitions/HealthResponse" + } + } + } + } + } + }, + "definitions": { + "EventIngest": { + "type": "object", + "required": ["tenantId", "agentId", "tool"], + "properties": { + "tenantId": { + "type": "string", + "description": "Your AuthBinder tenant ID. Found in your AuthBinder portal.", + "x-ms-summary": "Tenant ID" + }, + "agentId": { + "type": "string", + "description": "A unique identifier for your AI agent. Use a consistent value so AuthBinder can track activity across sessions.", + "x-ms-summary": "Agent ID" + }, + "tool": { + "type": "string", + "description": "The name of the tool or action your agent called. For example: email_sender, crm_lookup, file_delete.", + "x-ms-summary": "Tool Name" + }, + "destination": { + "type": "string", + "description": "The external system or service the tool connected to. For example: gmail, salesforce, sharepoint.", + "x-ms-summary": "Destination" + }, + "action": { + "type": "string", + "description": "The type of action performed. For example: read, write, send, delete.", + "x-ms-summary": "Action Type" + }, + "approved": { + "type": "boolean", + "description": "Whether this action was explicitly approved by a human before execution.", + "x-ms-summary": "Human Approved" + }, + "success": { + "type": "boolean", + "description": "Whether the tool call completed successfully.", + "x-ms-summary": "Success" + }, + "userId": { + "type": "string", + "description": "Optional. The ID of the user who triggered this agent action.", + "x-ms-summary": "User ID" + }, + "durationMs": { + "type": "integer", + "description": "Optional. How long the tool call took in milliseconds.", + "x-ms-summary": "Duration (ms)" + }, + "timestamp": { + "type": "string", + "format": "date-time", + "description": "The UTC timestamp when this event occurred. ISO 8601 format.", + "x-ms-summary": "Timestamp" + } + } + }, + "EventBatch": { + "type": "object", + "required": ["events"], + "properties": { + "events": { + "type": "array", + "description": "List of events to log. Maximum 500 per batch.", + "x-ms-summary": "Events", + "items": { + "$ref": "#/definitions/EventIngest" + } + } + } + }, + "EventResponse": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Unique ID of the logged event.", + "x-ms-summary": "Event ID" + }, + "tenantId": { + "type": "string", + "description": "Your tenant ID.", + "x-ms-summary": "Tenant ID" + }, + "agentRef": { + "type": "string", + "description": "The agent ID this event was logged against.", + "x-ms-summary": "Agent Reference" + }, + "toolName": { + "type": "string", + "description": "The tool name that was logged.", + "x-ms-summary": "Tool Name" + }, + "riskLevel": { + "type": "string", + "description": "The risk level AuthBinder assigned to this event: low, medium, high, or critical.", + "x-ms-summary": "Risk Level" + }, + "timestamp": { + "type": "string", + "format": "date-time", + "description": "When this event occurred.", + "x-ms-summary": "Timestamp" + }, + "createdAt": { + "type": "string", + "format": "date-time", + "description": "When AuthBinder received and stored this event.", + "x-ms-summary": "Received At" + } + } + }, + "BatchResponse": { + "type": "object", + "properties": { + "ingested": { + "type": "integer", + "description": "Number of events successfully ingested.", + "x-ms-summary": "Ingested Count" + }, + "errors": { + "type": "array", + "description": "Any events that failed to ingest, with error details.", + "x-ms-summary": "Errors", + "items": { + "type": "object" + } + }, + "total": { + "type": "integer", + "description": "Total number of events submitted.", + "x-ms-summary": "Total Count" + } + } + }, + "ConnectionStatus": { + "type": "object", + "properties": { + "tenantId": { + "type": "string", + "description": "Your tenant ID.", + "x-ms-summary": "Tenant ID" + }, + "connected": { + "type": "boolean", + "description": "Whether AuthBinder has received at least one event from your agent.", + "x-ms-summary": "Connected" + }, + "eventsReceived": { + "type": "integer", + "description": "Total number of events AuthBinder has received from your agent.", + "x-ms-summary": "Events Received" + }, + "lastSeen": { + "type": "string", + "format": "date-time", + "description": "When AuthBinder last received an event from your agent.", + "x-ms-summary": "Last Seen" + }, + "firstSeen": { + "type": "string", + "format": "date-time", + "description": "When AuthBinder first received an event from your agent.", + "x-ms-summary": "First Seen" + } + } + }, + "HealthResponse": { + "type": "object", + "properties": { + "status": { + "type": "string", + "description": "API health status.", + "x-ms-summary": "Status" + }, + "version": { + "type": "string", + "description": "API version.", + "x-ms-summary": "Version" + } + } + } + } +} + + + diff --git a/independent-publisher-connectors/AuthBinder/apiProperties.json b/independent-publisher-connectors/AuthBinder/apiProperties.json new file mode 100644 index 0000000000..1b27cf8bb1 --- /dev/null +++ b/independent-publisher-connectors/AuthBinder/apiProperties.json @@ -0,0 +1,30 @@ +{ + "properties": { + "connectionParameters": { + "api_key": { + "type": "securestring", + "uiDefinition": { + "displayName": "API Key", + "description": "Your AuthBinder API key. You can find this in your AuthBinder portal after purchasing an audit package.", + "tooltip": "Enter your AuthBinder API key starting with ab_live_", + "constraints": { + "required": "true" + } + } + } + }, + "iconBrandColor": "#1a1a2e", + "capabilities": [], + "policyTemplateInstances": [ + { + "templateId": "setheader", + "title": "Set API Key Header", + "parameters": { + "x-ms-apitemplate-operationId": ["LogAgentEvent", "LogAgentEventsBatch", "GetConnectionStatus"], + "x-ms-apitemplate-header-name": "X-API-Key", + "x-ms-apitemplate-header-value": "@connectionParameters('api_key')" + } + } + ] + } +} diff --git a/independent-publisher-connectors/AuthBinder/authbinder-connector-package.zip b/independent-publisher-connectors/AuthBinder/authbinder-connector-package.zip new file mode 100644 index 0000000000..5e53c2470b Binary files /dev/null and b/independent-publisher-connectors/AuthBinder/authbinder-connector-package.zip differ diff --git a/independent-publisher-connectors/AuthBinder/intro.md b/independent-publisher-connectors/AuthBinder/intro.md new file mode 100644 index 0000000000..74a06bb5be --- /dev/null +++ b/independent-publisher-connectors/AuthBinder/intro.md @@ -0,0 +1,26 @@ +## AuthBinder (Independent Publisher) + +### Overview +AuthBinder is an AI agent assurance platform. Use this connector to send telemetry events from your Copilot Studio agents or Power Automate flows directly to AuthBinder for risk scoring, behavioural analysis, and compliance reporting. + +### Prerequisites +- An AuthBinder account at authbinder.com +- An active Baseline or Business assurance package +- Your AuthBinder API key and Tenant ID + +### How to get credentials +1. Sign up at authbinder.com +2. Purchase a Baseline or Business assurance package +3. Your Tenant ID and API key are provided immediately after purchase + +### Supported operations +- **Log Agent Event** — Send a single telemetry event from your AI agent +- **Log Agent Events (Batch)** — Send up to 500 events in a single call +- **Get Connection Status** — Check whether your agent is connected and how many events have been received +- **Health Check** — Verify the AuthBinder API is reachable + +### Support +- Email: info@getauthbinder.com +- Website: https://authbinder.com +- Privacy policy: https://authbinder.com/privacy +- Terms of service: https://authbinder.com/terms