Skip to main content

A professional Python library for high-performance interaction with the Automation Anywhere A360 API.

Project description

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

rpa_automationanywhere-2.0.0.tar.gz (113.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

rpa_automationanywhere-2.0.0-py3-none-any.whl (67.0 kB view details)

Uploaded Python 3

File details

Details for the file rpa_automationanywhere-2.0.0.tar.gz.

File metadata

File hashes

Hashes for rpa_automationanywhere-2.0.0.tar.gz
Algorithm Hash digest
SHA256 ca9a336f9f8c78a1a52af809390e5d219008256b8d476f1388c5d364c1ab4299
MD5 b07567f09c1bd39d95e164d44e789e69
BLAKE2b-256 78eb2d828177e4167a3cd7dca9e809c42b38afcdd3d5e947b11d68d3c5fdb3d8

See more details on using hashes here.

File details

Details for the file rpa_automationanywhere-2.0.0-py3-none-any.whl.

File metadata

File hashes

Hashes for rpa_automationanywhere-2.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 79c4e50a57c8e7f0f4f5f4fc7c9a2d9ae693ee7059f3377e8bdb4e2eebcba025
MD5 171bbd1c18c7a85c414dfcbc23340644
BLAKE2b-256 f1e0108dedef68921d41b9bca2d564254ac6de613a74a1e1016fea8bed4ec30d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page