From 680594fd4fa6889439783873e45c0635872df001 Mon Sep 17 00:00:00 2001 From: AuthBinderSimon Date: Wed, 27 May 2026 14:28:05 +1200 Subject: [PATCH 1/6] Create README.md --- .../AuthBinder/README.md | 63 +++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 independent-publisher-connectors/AuthBinder/README.md 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 From ef018b6c63cc330ab9adeeb623bf9a3bd7a4e4b9 Mon Sep 17 00:00:00 2001 From: AuthBinderSimon Date: Wed, 27 May 2026 14:29:33 +1200 Subject: [PATCH 2/6] Add files via upload --- .../AuthBinder/apiDefinition.swagger.json | 333 ++++++++++++++++++ .../AuthBinder/apiProperties.json | 30 ++ .../AuthBinder/icon.png | Bin 0 -> 2087 bytes 3 files changed, 363 insertions(+) create mode 100644 independent-publisher-connectors/AuthBinder/apiDefinition.swagger.json create mode 100644 independent-publisher-connectors/AuthBinder/apiProperties.json create mode 100644 independent-publisher-connectors/AuthBinder/icon.png diff --git a/independent-publisher-connectors/AuthBinder/apiDefinition.swagger.json b/independent-publisher-connectors/AuthBinder/apiDefinition.swagger.json new file mode 100644 index 0000000000..341ad892ad --- /dev/null +++ b/independent-publisher-connectors/AuthBinder/apiDefinition.swagger.json @@ -0,0 +1,333 @@ +{ + "swagger": "2.0", + "info": { + "title": "AuthBinder", + "description": "AuthBinder is an AI agent audit platform. Use this connector to send telemetry events from your AI agent to AuthBinder for risk scoring, behavioural analysis, and compliance reporting.", + "version": "1.0.0", + "contact": { + "name": "AuthBinder Support", + "email": "support@authbinder.ai", + "url": "https://authbinder.ai" + } + }, + "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/icon.png b/independent-publisher-connectors/AuthBinder/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..c278a8c7efecc5c8fa06d531f903c1ff19865bde GIT binary patch literal 2087 zcmc(hSx}Q{7KXn+D*-~nCTmC(XlVt+wwqN+pb-U?L}>#f2yqG8YC$BCMI`yzL_}L? zm1P8pqJpR(*a`+DQ5(@_Nfecq0Rpt_OJLX&LMC%LcXKsU^;Dfx^*$Hp;?${=#R%Gg z*R|9I0N?|5`t1V%(zX!LL1;?{k-8ZG>{NiC&rb61Z0yZnu2B&=Z#$ctdonpD@xbp14xW$sedO>L6lm=;gx~wW%xJNn)d2by9#(74hZR2ZGp{Z)@PZQZ~9hiF7B#4A5-?_2Ivrwf6e-w=#2LPD7QMabBO zlW1AWFuB{;0o-qb)4I)a7=Y9*j&Q6dAt;koIdEWzc3E@n6qeZbg7MvAU9zPwlpd_60%UwKn`ON$yGpKK!N0{yyd9ah8IQq4f8U0Qzv&gRscxvJ%XLLJr}G%^r* z#8BeW;(rx`SqE=kL$JqR@&(9K7CS7>Q|T$pB-K^xH)pE}CFHo9Gr?kOpIL>KmwU}I z>dT@zc7CF$p1Qh8kbJHvj-sHzH>@o>!lHN!oh8lopchg)6|~!GJm`CBDR9>LiKsSo zBnIN0jaL|0cgKrO+)|=ZE=|)<+mcyEh>^8*r_qFW2pSRR{OSZXclhuKs zj3WuTE#xdau)E&~T%lbUGLhWBn|k?D<+WfS;Y2~^kMcqzI*)UKm7GsGtk5s$f&TuF z)PN)LXBISrb&+H;J=whLK$56luF5T+kQPmdvRY#RB;s_dw=9c4uQbpaz2S#oB2 zMg%IsSvIF=NEySnNpW`k{2{wTFkN!-vAYx-fTh&Cib#bqGnf+%s)zur%qP)OC^NG`g#_AyQe6m9@JG6LZ_0&%C@rtIjOZO9P(AU32^e${V}DnzEW_6<$rY zu)+RK1$z0#Y-6|u=X8JCwHhZZ6yrm+&?_jmN6f;Hg6esBAVwB_Qb=l-v`?xUBY
IapN~F{oocDlIE3GC*Lo3oeD+Jxk%21;B`Iw7Usm2nK@aYfzp+j?Wf1n6m zKI^ikRDgo4*}NZFb60F(?zJtfDK8?8@KoPi9gULF`{&{JVnay(@!)yM2*C%uc5H#) zlP>_wjeLkpMMAqbFKCUDOfV#x(Hc^Ju#tCEJB$w)w|)mdkGuq!Nt0Sbo(i5l??$oV0(~Xr7tV>UkwtY#Q*>R literal 0 HcmV?d00001 From 13f24fa240ad3a447275cea6e6edc5c5b6edad2c Mon Sep 17 00:00:00 2001 From: AuthBinderSimon Date: Thu, 4 Jun 2026 10:15:41 +1200 Subject: [PATCH 3/6] Delete independent-publisher-connectors/AuthBinder/apiDefinition.swagger.json --- .../AuthBinder/apiDefinition.swagger.json | 333 ------------------ 1 file changed, 333 deletions(-) delete mode 100644 independent-publisher-connectors/AuthBinder/apiDefinition.swagger.json diff --git a/independent-publisher-connectors/AuthBinder/apiDefinition.swagger.json b/independent-publisher-connectors/AuthBinder/apiDefinition.swagger.json deleted file mode 100644 index 341ad892ad..0000000000 --- a/independent-publisher-connectors/AuthBinder/apiDefinition.swagger.json +++ /dev/null @@ -1,333 +0,0 @@ -{ - "swagger": "2.0", - "info": { - "title": "AuthBinder", - "description": "AuthBinder is an AI agent audit platform. Use this connector to send telemetry events from your AI agent to AuthBinder for risk scoring, behavioural analysis, and compliance reporting.", - "version": "1.0.0", - "contact": { - "name": "AuthBinder Support", - "email": "support@authbinder.ai", - "url": "https://authbinder.ai" - } - }, - "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" - } - } - } - } -} From bc5a0fa85dcbb5fafa1d4bd9474ac9df44b1881b Mon Sep 17 00:00:00 2001 From: AuthBinderSimon Date: Thu, 4 Jun 2026 10:17:11 +1200 Subject: [PATCH 4/6] Add files via upload --- .../AuthBinder/apiDefinition.swagger.json | 336 ++++++++++++++++++ 1 file changed, 336 insertions(+) create mode 100644 independent-publisher-connectors/AuthBinder/apiDefinition.swagger.json 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" + } + } + } + } +} + + + From 58941e764b1105c7886ad2e9c71ba759846faeb2 Mon Sep 17 00:00:00 2001 From: AuthBinderSimon Date: Thu, 4 Jun 2026 10:22:21 +1200 Subject: [PATCH 5/6] Delete independent-publisher-connectors/AuthBinder/icon.png --- .../AuthBinder/icon.png | Bin 2087 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 independent-publisher-connectors/AuthBinder/icon.png diff --git a/independent-publisher-connectors/AuthBinder/icon.png b/independent-publisher-connectors/AuthBinder/icon.png deleted file mode 100644 index c278a8c7efecc5c8fa06d531f903c1ff19865bde..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2087 zcmc(hSx}Q{7KXn+D*-~nCTmC(XlVt+wwqN+pb-U?L}>#f2yqG8YC$BCMI`yzL_}L? zm1P8pqJpR(*a`+DQ5(@_Nfecq0Rpt_OJLX&LMC%LcXKsU^;Dfx^*$Hp;?${=#R%Gg z*R|9I0N?|5`t1V%(zX!LL1;?{k-8ZG>{NiC&rb61Z0yZnu2B&=Z#$ctdonpD@xbp14xW$sedO>L6lm=;gx~wW%xJNn)d2by9#(74hZR2ZGp{Z)@PZQZ~9hiF7B#4A5-?_2Ivrwf6e-w=#2LPD7QMabBO zlW1AWFuB{;0o-qb)4I)a7=Y9*j&Q6dAt;koIdEWzc3E@n6qeZbg7MvAU9zPwlpd_60%UwKn`ON$yGpKK!N0{yyd9ah8IQq4f8U0Qzv&gRscxvJ%XLLJr}G%^r* z#8BeW;(rx`SqE=kL$JqR@&(9K7CS7>Q|T$pB-K^xH)pE}CFHo9Gr?kOpIL>KmwU}I z>dT@zc7CF$p1Qh8kbJHvj-sHzH>@o>!lHN!oh8lopchg)6|~!GJm`CBDR9>LiKsSo zBnIN0jaL|0cgKrO+)|=ZE=|)<+mcyEh>^8*r_qFW2pSRR{OSZXclhuKs zj3WuTE#xdau)E&~T%lbUGLhWBn|k?D<+WfS;Y2~^kMcqzI*)UKm7GsGtk5s$f&TuF z)PN)LXBISrb&+H;J=whLK$56luF5T+kQPmdvRY#RB;s_dw=9c4uQbpaz2S#oB2 zMg%IsSvIF=NEySnNpW`k{2{wTFkN!-vAYx-fTh&Cib#bqGnf+%s)zur%qP)OC^NG`g#_AyQe6m9@JG6LZ_0&%C@rtIjOZO9P(AU32^e${V}DnzEW_6<$rY zu)+RK1$z0#Y-6|u=X8JCwHhZZ6yrm+&?_jmN6f;Hg6esBAVwB_Qb=l-v`?xUBY
IapN~F{oocDlIE3GC*Lo3oeD+Jxk%21;B`Iw7Usm2nK@aYfzp+j?Wf1n6m zKI^ikRDgo4*}NZFb60F(?zJtfDK8?8@KoPi9gULF`{&{JVnay(@!)yM2*C%uc5H#) zlP>_wjeLkpMMAqbFKCUDOfV#x(Hc^Ju#tCEJB$w)w|)mdkGuq!Nt0Sbo(i5l??$oV0(~Xr7tV>UkwtY#Q*>R From da485a70a197f9796659cbc1bf9b265a0e9f363c Mon Sep 17 00:00:00 2001 From: AuthBinderSimon Date: Wed, 24 Jun 2026 09:31:36 +1200 Subject: [PATCH 6/6] Add files via upload --- .../authbinder-connector-package.zip | Bin 0 -> 3821 bytes .../AuthBinder/intro.md | 26 ++++++++++++++++++ 2 files changed, 26 insertions(+) create mode 100644 independent-publisher-connectors/AuthBinder/authbinder-connector-package.zip create mode 100644 independent-publisher-connectors/AuthBinder/intro.md 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 0000000000000000000000000000000000000000..5e53c2470b2ffd4fd43393c4107366e287c7edfe GIT binary patch literal 3821 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 literal 0 HcmV?d00001 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