Skip to main content

Automation Anywhere A360 Python API Client

A high-performance Python library for interacting with the Automation Anywhere A360 (Control Room) API.

Business Value

This library enables you to automate the management and orchestration of the Automation Anywhere 360 infrastructure.By providing a structured, type-safe interface to the A360 Control Room, it allows you to:

  • Programmatically manage devices, users, and lockers to reduce manual administrative overhead.
  • Integrate A360 repository management and bot deployment into existing CI/CD workflows.
  • Safely manage Credential Vault entries with built-in RSA encryption and optimized bulk retrieval.
  • Monitor RPA performance with comprehensive bot metrics and execution history analysis.
  • Execute API Tasks (HotBot) for high-frequency, low-latency automation needs.
  • Orchestrate Bot Lifecycle (BLM) by automating the export and import of bots across environments.

Architecture

The project is built on modern Python standards with a focus on maintainability, security, and developer experience.

Core Services

The AAClient provides access to a comprehensive suite of 16 domain-specific services:

  • credentials: Secure management of Credential Vault entries.
  • users: Control Room user and role management.
  • lockers: Management of lockers, owners, and participants.
  • devices: Monitoring and management of Bot Runners and device pools.
  • repository: Interaction with the file repository (Upload, Download, Search).
  • automations: Bot deployment (v3/v4), activity monitoring, and performance metrics.
  • wlm: Workload Management (Queues, Work Items, and Models).
  • audit: Retrieval and filtering of Control Room audit logs.
  • api_task: Management and execution of API Tasks (HotBot).
  • blm: Bot Lifecycle Management (Export, Import, and Promotion).
  • aari: Orchestration of AARI processes and tasks.
  • policy: Code analysis and policy management.
  • license: Control Room license monitoring.
  • scheduler: Management of automation schedules.
  • triggers: Configuration of event-based triggers.
  • ai_agent_studio: Integration with AI Agent Studio services.

Requirements

  • Python: 3.10 or higher (Optimized for 3.14+ with from __future__ import annotations)
  • Key Dependencies:
    • pydantic & pydantic-settings (v2, data validation and camelCase aliasing)
    • requests (HTTP communication with connection pooling)
    • cryptography (RSA OAEP SHA-256 encryption)
    • robocorp-vault (Secret container compatibility)

Usage

1. Initialization

from rpa_automationanywhere import AAClient

# Load connection details from .env (A360_USERNAME, A360_PASSWORD, A360_CONTROL_ROOM_URI)
with AAClient.from_env() as client:
    print(f"Connected to: {client.api_client.base_url}")
    devices = client.devices.list_devices()

2. Optimized Credential Retrieval

The client automatically handles A360's internal masking logic, ensuring sensitive values are correctly retrieved while optimizing network calls.

# Returns a robocorp.vault.SecretContainer for native compatibility
secret = client.credentials.get_secret("Legacy_ERP_Login")

print(f"Username: {secret.values['username']}")
# Even masked attributes are transparently fetched and available
print(f"Password: {secret.values['password']}")

3. RPA Metrics & Performance Analysis

Deliver actionable business insights using the built-in metrics engine.

metrics = client.automations.get_execution_metrics()

print(f"Overall Success Rate: {metrics.overall_success_rate:.2f}%")
for bot in metrics.bot_metrics:
    print(f"Bot: {bot.file_name}")
    print(f"  - Success: {bot.success_count}/{bot.total_executions}")
    print(f"  - Avg Duration: {bot.avg_duration:.1f}s")

4. API Task Execution (HotBot)

Execute high-performance API Tasks by fetching access details and posting input data.

# 1. Get execution details
details = client.api_task.get_access_details(["/Bots/MyTaskBot"])
task = details.list[0]

# 2. Execute with input data
result = client.api_task.execute_task(
    url=task.url,
    headers=task.headers,
    input_data={"customer_id": "12345"}
)

5. Bot Lifecycle Management (BLM)

Automate bot promotion between Dev, Test, and Prod environments.

# Export a bot package
export_req = BlmExportRequest(file_paths=["/Bots/MainBot"])
response = client.blm.export_bots(export_req)

# Wait for export to complete and download
status = client.blm.get_status(response.request_id, timeout=30)
archive_bytes = client.blm.download_exported_bots(status.download_file_id)

Security

  • Exception Masking: Error messages are automatically truncated to prevent accidental leakage of sensitive data in logs.
  • Payload Protection: All sensitive Vault attributes are encrypted locally using RSA OAEP SHA-256 before transmission.
  • Persistent Sessions: Securely managed requests.Session objects handle authentication tokens and connection persistence.

Testing

The library includes a comprehensive test suite (70+ tests) with 100% coverage goals, utilizing pytest and advanced mocking.

pytest tests/

License

This project is licensed under the MIT License - see the LICENSE.txt file for details.

Release files for rpa-automationanywhere 2.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for rpa-automationanywhere 2.0.0
File Size Uploaded
rpa_automationanywhere-2.0.0.tar.gz 113.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for rpa-automationanywhere 2.0.0
File Interpreter ABI Platform
rpa_automationanywhere-2.0.0-py3-none-any.whl Python 3 none any Details

Total release size: 180.1 kB

Release files / rpa_automationanywhere-2.0.0.tar.gz

Download URL rpa_automationanywhere-2.0.0.tar.gz
Size 113.2 kB
Tags Source
SHA-256 checksum
How to use checksums
ca9a336f9f8c78a1a52af809390e5d219008256b8d476f1388c5d364c1ab4299
BLAKE2b-256 checksum
How to use checksums
78eb2d828177e4167a3cd7dca9e809c42b38afcdd3d5e947b11d68d3c5fdb3d8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.9.1

Release files / rpa_automationanywhere-2.0.0-py3-none-any.whl

Download URL rpa_automationanywhere-2.0.0-py3-none-any.whl
Size 67.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
79c4e50a57c8e7f0f4f5f4fc7c9a2d9ae693ee7059f3377e8bdb4e2eebcba025
BLAKE2b-256 checksum
How to use checksums
f1e0108dedef68921d41b9bca2d564254ac6de613a74a1e1016fea8bed4ec30d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.9.1

Release history Release notifications | RSS feed

This release

2.0.0 This release

2 release files

1.0.3

2 release files

1.0.2

2 release files

1.0.1

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page