BumblebeeBumblebee

AutoTask

Overview

The AutoTask integration allows you to automate your Professional Services Automation workflows directly from Bumblebee. Manage tickets, companies, contacts, and projects without manual intervention.

Prerequisites & Setup

Before setting up the AutoTask integration, ensure you have:

  • An active AutoTask account with API access enabled
  • API credentials (Username and API Key)
  • Appropriate permissions to access the AutoTask API

Obtain API Credentials

  1. Log in to your AutoTask account
  2. Navigate to Admin > Resources (Users) > API Users
  3. Create a new API user or use an existing one
  4. Copy the Username and API Integration Code (or API Tracking Identifier)
  5. Note your AutoTask API URL and make sure to record the zone number in the URL (the number after "webservices", e.g., ww5.autotask.net, where 5 is the zone number)

Configure in Bumblebee

  1. Go to the Integrations page in Bumblebee
  2. Click on AutoTask
  3. Enter your AutoTask credentials:
    • API Username
    • API Integration Code (API Tracking Identifier)
    • API URL
  4. Click Test Connection to verify
  5. Save the configuration

Available Tools

Resources

  • get_owner_resource_id_by_user_email - Get the owner resource ID for a given user email. Required: user_email (str)
  • list_employee_resources - List employee resources (engineers/staff) in AutoTask. Optional: is_active (bool), max_records (int), max_pages (int), response_filter (str)

Tickets

  • get_ticket - Get complete ticket information by ticket ID. Returns raw JSON response from AutoTask API. Required: ticket_id (int)
  • get_ticket_by_ticket_number - Get ticket by ticket number (e.g., T20240101.0001). Required: ticket_number (str)
  • list_tickets - List tickets. Returns raw JSON response from AutoTask API. Optional: company_id (int), status (int), queue_id (int), from_date (str), to_date (str), max_records (int), max_pages (int), response_filter (str)
  • update_ticket - Update an existing ticket in AutoTask. Required: ticket_id (int). Optional: title (str), status (int), priority (int), issue_type (int), sub_issue_type (int), queue_id (int), description (str), due_date_time (str), estimated_hours (float), assigned_resource_id (int), assigned_resource_role_id (int)
  • list_ticket_notes_by_ticket_id - Get ticket notes by ticket ID. Returns raw JSON response from AutoTask API. Required: ticket_id (int). Optional: response_filter (str)
  • post_ticket_note - Create a new note on a ticket. Required: ticket_id (int), description (str), note_type (int), publish (int). Optional: title (str)
  • get_ticket_charges_by_ticket_id - Get ticket charges by ticket ID. Returns raw JSON response from AutoTask API. Required: ticket_id (int)
  • list_ticket_charges - List ticket charges with optional filters. Optional: ticket_id (int), charge_type (str), max_records (int), max_pages (int), response_filter (str)
  • get_entity_field_information - Get field information for a specific entity field in AutoTask. Required: entity (str), field_name (str)

Contacts

  • get_contact - Get complete contact information by contact ID. Returns raw JSON response from AutoTask API. Required: contact_id (int)
  • list_contacts - List contacts. Returns raw JSON response from AutoTask API. Optional: company_id (int), email_address (str), is_active (bool), max_records (int), max_pages (int), response_filter (str)
  • create_contact - Create a new contact in AutoTask. Required: first_name (str), last_name (str), company_id (int). Optional: email_address (str), phone (str), mobile_phone (str), title (str), active (int)
  • update_contact - Update an existing contact in AutoTask. Required: contact_id (int), company_id (int). Optional: first_name (str), last_name (str), email_address (str), phone (str), mobile_phone (str), title (str), active (int)

Companies

  • get_company - Get complete company information by company ID. Returns raw JSON response from AutoTask API. Required: company_id (int)
  • list_companies - List companies. Returns raw JSON response from AutoTask API. Optional: company_name (str), company_type (int), is_active (bool), max_records (int), max_pages (int), response_filter (str)
  • create_company - Create a new company in AutoTask. Required: company_name (str), company_type (int), phone (str), owner_resource_id (int). Optional: address1 (str), city (str), state (str), postal_code (str), country (str)
  • update_company - Update an existing company in AutoTask. Required: company_id (int). Optional: company_name (str), company_type (int), phone (str), address1 (str), city (str), state (str), postal_code (str), country (str)
  • get_company_notes_by_company_id - Get company notes by company ID. Returns raw JSON response from AutoTask API. Required: company_id (int)

Opportunities

  • get_opportunity - Get complete opportunity information by opportunity ID. Returns raw JSON response from AutoTask API. Required: opportunity_id (int)
  • list_opportunities - List opportunities. Returns raw JSON response from AutoTask API. Optional: company_id (int), max_records (int), max_pages (int), response_filter (str)
  • create_opportunity - Create a new opportunity in AutoTask. Required: title (str), company_id (int), stage (int), status (int), amount (float), cost (float), start_date (str), owner_resource_id (int), projected_close_date (str), probability (int). Optional: use_quote_totals (bool)
  • update_opportunity - Update an existing opportunity in AutoTask. Required: opportunity_id (int). Optional: title (str), stage (int), status (int), amount (float), cost (float), start_date (str), projected_close_date (str), owner_resource_id (int), probability (int), use_quote_totals (bool)

Products

  • get_product_by_id - Get complete product information by product ID. Returns raw JSON response from AutoTask API. Required: product_id (int)
  • list_products - List products with optional filters. Optional: is_active (bool), product_name (str), max_records (int), max_pages (int), response_filter (str)
  • get_product_notes_by_id - Get product notes by product ID. Returns raw JSON response from AutoTask API. Required: product_id (int)

Projects

  • get_project_by_id - Get complete project information by project ID. Returns raw JSON response from AutoTask API. Required: project_id (int)
  • list_projects - List projects with optional filters. Optional: company_id (int), status (int), max_records (int), max_pages (int), response_filter (str)
  • get_project_notes_by_id - Get project notes by project ID. Returns raw JSON response from AutoTask API. Required: project_id (int)

Service Calls

  • get_service_call_by_id - Get complete service call information by service call ID. Returns raw JSON response from AutoTask API. Required: service_call_id (int)
  • list_service_calls - List service calls with optional filters. Optional: company_id (int), status (int), is_complete (int), max_records (int), max_pages (int), response_filter (str)
  • create_service_call - Create a new service call in AutoTask. Required: company_id (int), start_date_time (str), end_date_time (str). Optional: description (str), status (int), is_complete (int), company_location_id (int)
  • update_service_call - Update an existing service call in AutoTask. Required: service_call_id (int). Optional: company_id (int), start_date_time (str), end_date_time (str), description (str), status (int), is_complete (int), company_location_id (int), canceled_by_resource_id (int), canceled_date_time (str)

Time Entries

  • get_time_entry_by_id - Get complete time entry information by time entry ID. Returns raw JSON response from AutoTask API. Required: time_entry_id (int)
  • list_time_entries - List time entries with optional filters. Optional: resource_id (int), ticket_ids (List[int]), task_ids (List[int]), from_date (str), to_date (str), max_records (int), max_pages (int), response_filter (str)
  • list_time_entries_for_tickets - List all time entries on tickets for a given company, with server-side aggregation. Required: company_id (int). Optional: from_date (str), to_date (str), max_pages (int)
  • list_time_entries_for_projects - List all time entries on project tasks for a given company, with server-side aggregation. Required: company_id (int). Optional: from_date (str), to_date (str), max_pages (int)
  • create_time_entry - Create a new time entry in AutoTask. Required: resource_id (int), role_id (int), summary_notes (str). Optional: date_worked (str), start_date_time (str), end_date_time (str), hours_worked (float), ticket_id (int), task_id (int), is_non_billable (bool), show_on_invoice (bool), billing_code_id (int), contract_id (int)
  • update_time_entry - Update an existing time entry in AutoTask. Required: time_entry_id (int). Optional: resource_id (int), role_id (int), summary_notes (str), date_worked (str), start_date_time (str), end_date_time (str), hours_worked (float), ticket_id (int), task_id (int), is_non_billable (bool), show_on_invoice (bool), billing_code_id (int), contract_id (int)

Appointments

  • get_appointment_by_id - Get complete appointment information by appointment ID. Returns raw JSON response from AutoTask API. Required: appointment_id (int)
  • list_appointments - List appointments with optional filters. Optional: resource_id (int), max_records (int), max_pages (int), response_filter (str)
  • create_appointment - Create a new appointment in AutoTask. Required: resource_id (int), start_date_time (str), end_date_time (str), title (str). Optional: description (str)
  • update_appointment - Update an existing appointment in AutoTask. Required: appointment_id (int). Optional: resource_id (int), start_date_time (str), end_date_time (str), title (str), description (str)

Contracts

  • get_contract_details - Get complete contract details including all child resources. Required: contract_id (int)
  • list_contracts - List contracts with optional filters. Optional: company_id (int), status (int), contract_type (int), max_records (int), max_pages (int), response_filter (str)
  • list_contract_charges - List contract charges across contracts with optional filters. Optional: contract_id (int), is_billed (bool), max_records (int), max_pages (int), response_filter (str)

Invoices & Billing

  • get_invoice - Get invoice details by invoice ID. Required: invoice_id (int)
  • list_invoices - List invoices with optional filters. Optional: company_id (int), from_date (str), to_date (str), max_records (int), max_pages (int), response_filter (str)
  • list_billing_items - List billing items (the bridge between work and invoices). Optional: contract_id (int), invoice_id (int), is_invoiced (bool), company_id (int), from_date (str), to_date (str), max_records (int), max_pages (int), response_filter (str)
  • get_billing_code - Get billing code (allocation code) details by ID. Required: billing_code_id (int)
  • list_billing_codes - List billing codes (allocation codes) with optional filters. Optional: is_active (bool), max_records (int), max_pages (int), response_filter (str)

Configuration Items (Devices)

  • get_configuration_item - Get complete configuration item (device) information by ID. Required: configuration_item_id (int)
  • list_configuration_items - List configuration items (devices) with optional filters. Optional: company_id (int), is_active (bool), configuration_item_type (int), serial_number (str), reference_title (str), product_id (int), max_records (int), max_pages (int), response_filter (str)
  • create_configuration_item - Create a new configuration item (device) in AutoTask. Required: company_id (int), product_id (int), configuration_item_type (int). Optional: is_active (bool), reference_title (str), reference_number (str), serial_number (str), install_date (str), location (str), notes (str), contact_id (int), contract_id (int), parent_configuration_item_id (int), warranty_expiration_date (str), daily_cost (float), monthly_cost (float), hourly_cost (float), per_use_cost (float), setup_fee (float), number_of_users (float), configuration_item_category_id (int)
  • update_configuration_item - Update an existing configuration item (device) in AutoTask. Required: configuration_item_id (int). Optional: configuration_item_type (int), product_id (int), is_active (bool), reference_title (str), reference_number (str), serial_number (str), install_date (str), location (str), notes (str), contact_id (int), contract_id (int), parent_configuration_item_id (int), warranty_expiration_date (str), daily_cost (float), monthly_cost (float), hourly_cost (float), per_use_cost (float), setup_fee (float), number_of_users (float), configuration_item_category_id (int)
  • get_configuration_item_notes - Get notes for a configuration item (device) by ID. Required: configuration_item_id (int)

Webhooks

  • create_webhook - Create a new webhook for AutoTask entity events, or real-time notifications when entities are created, updated, or deleted in AutoTask. Required: entity_type (str), name (str), webhook_url (str), deactivation_url (str), secret_key (str). Optional: is_active (bool), is_subscribed_to_create_events (bool), is_subscribed_to_update_events (bool), is_subscribed_to_delete_events (bool), send_threshold_exceeded_notification (bool)
  • subscribe_webhook_field - Subscribe a webhook to specific field changes. At least one field must be subscribed for update events to work. Required: entity_type (str), webhook_id (int), field_name (str). Optional: is_subscribed_field (bool), is_display_always_field (bool)
  • list_webhooks - List all registered webhooks for an entity type. Required: entity_type (str). Optional: max_pages (int), response_filter (str)
  • delete_webhook - Delete a webhook. Required: entity_type (str), webhook_id (int)

Support

For additional help with AutoTask integration: