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

Tickets

  • get_ticket - Get ticket details by ID. Required: ticket_id (int)
  • get_ticket_by_ticket_number - Get ticket by ticket number (e.g., T20240101.0001). Required: ticket_number (str)
  • update_ticket - Update ticket. Required: ticket_id (int). Optional: title, status, priority, issue_type, sub_issue_type, queue_id, description, due_date_time, estimated_hours, assigned_resource_id, assigned_resource_role_id
  • list_tickets - List all tickets (up to 100 records, no pagination support)
  • list_tickets_by_company_id - List tickets for a company. Required: company_id (int)
  • get_entity_field_information - Get field metadata for any AutoTask entity. Retrieves field information including data type, required status, picklist values, and constraints. Required: entity (str, one of: 'Tickets', 'TicketNotes', 'Contacts', 'Companies', 'Opportunities', 'Products', 'Projects', 'ServiceCalls', 'TimeEntries'), field_name (str, must exactly match AutoTask field name, case-sensitive).
  • list_ticket_notes_by_ticket_id - Get ticket notes by ticket ID, up to 100 most recent ticket notes. Returns raw JSON response from AutoTask API. Required: ticket_id (int)
  • post_ticket_note - Create a new note on a ticket. Note is created as the API user. Rich text will be returned as plain text via API. Title is required if your AutoTask instance enforces note titles. Required: ticket_id (int), description (str, plain or rich text, max 32,000 characters), note_type (int, use get_entity_field_information(entity="TicketNotes", field_name="noteType") for valid values), publish (int, use get_entity_field_information(entity="TicketNotes", field_name="publish") for valid values). Optional: title (str, max 250 characters)
  • get_ticket_charges_by_ticket_id - Get ticket charges for a given ticket.. Required: ticket_id (int)
  • list_ticket_charges - List all ticket charges (up to 100 records, no pagination support)

Contacts

  • get_contact - Get contact details by ID. Required: contact_id (int)
  • list_contacts - List all contacts (up to 100 records, no pagination support)
  • list_contacts_by_company_id - List contacts for a company. Required: company_id (int)
  • create_contact - Create contact. Required: first_name (str), last_name (str), company_id (int). Optional: email_address, phone, mobile_phone, title, active (int, default: 1)
  • update_contact - Update contact. Required: contact_id (int), company_id (int). Optional: first_name, last_name, email_address, phone, mobile_phone, title, active

Companies

  • get_company - Get company details by ID. Required: company_id (int)
  • list_companies - List all companies (up to 100 records, no pagination support)
  • list_companies_by_name - Search companies by name. Required: company_name (str)
  • create_company - Create company. Required: company_name (str), company_type (int), phone (str), owner_resource_id (int). Optional: address1, city, state, postal_code, country
  • update_company - Update company. Required: company_id (int). Optional: company_name, company_type, phone, address1, city, state, postal_code, country
  • get_company_notes_by_company_id - Get company notes for a given company. Required: company_id (int)

Opportunities

  • get_opportunity - Get opportunity details by ID. Required: opportunity_id (int)
  • list_opportunities - List all opportunities (up to 100 records, no pagination support)
  • list_opportunities_by_company_id - List opportunities for a company. Required: company_id (int)
  • create_opportunity - Create opportunity. 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
  • update_opportunity - Update opportunity. Required: opportunity_id (int). Optional: title, stage, status, amount, cost, start_date, projected_close_date, owner_resource_id, probability, use_quote_totals

Products

  • get_product_by_id - Get product details by ID. Required: product_id (int)
  • list_products - List all products (up to 100 records, no pagination support)
  • get_product_notes_by_id - Get product notes. Required: product_id (int)

Projects

  • get_project_by_id - Get project details by ID. Required: project_id (int)
  • list_projects - List all projects (up to 100 records, no pagination support)
  • get_project_notes_by_id - Get project notes. Required: project_id (int)

Service Calls

  • get_service_call_by_id - Get service call details by ID. Required: service_call_id (int)
  • list_service_calls - List all service calls (up to 100 records, no pagination support)
  • create_service_call - Create service call. Required: company_id (int), start_date_time (str), end_date_time (str). Optional: description, status (int), is_complete (int, default: 0), company_location_id (int)
  • update_service_call - Update service call. Required: service_call_id (int). Optional: company_id (int), start_date_time (str), end_date_time (str), description, 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 time entry details by ID. Required: time_entry_id (int)
  • list_time_entries - List all time entries (up to 100 records, no pagination support)
  • create_time_entry - Create time entry. Required: ticket_id (int), resource_id (int), date_worked (str), start_date_time (str), end_date_time (str). Optional: summary_notes, internal_notes, role_id (int), hours_worked (float), hours_to_bill (float), offset_hours (float), billable_amount (float), is_internal_notes_visible_to_client (bool), show_on_invoice (bool), is_non_billable (bool), contract_id (int), contract_service_id (int), contract_service_bundle_id (int)
  • update_time_entry - Update time entry. Required: time_entry_id (int). Optional: summary_notes, internal_notes, hours_worked (float), hours_to_bill (float), billable_amount (float), is_internal_notes_visible_to_client (bool), show_on_invoice (bool), is_non_billable (bool)

Appointments

  • get_appointment_by_id - Get appointment details by ID. Required: appointment_id (int)
  • list_appointments - List all appointments (up to 100 records, no pagination support)
  • create_appointment - Create appointment. Required: resource_id (int), title (str), start_date_time (str), end_date_time (str). Optional: description, company_id (int), contact_id (int), location (str), is_all_day_event (bool, default: false), opportunity_id (int), ticket_id (int), project_id (int)
  • update_appointment - Update appointment. Required: appointment_id (int). Optional: title, start_date_time (str), end_date_time (str), description, company_id (int), contact_id (int), location, is_all_day_event (bool), opportunity_id (int), ticket_id (int), project_id (int)

Resources

  • get_owner_resource_id_by_user_email - Get user resource ID by the user's email. Typically used before creating or updating a resource such as ticket. Required: user_email (str)
  • list_employee_resources - List all resources that are of 'Employee' type. Optional: is_active (bool)

Support

For additional help with AutoTask integration: