InTouch Hub · Blue Isle Software

HappyFox

Create and update support tickets and contacts in HappyFox via the HappyFox REST API v1.1.

Provided free and as is, without warranty of any kind — including merchantability, fitness for a particular purpose, and the accuracy or completeness of any result. See the licence. You are responsible for checking what this produces before relying on it.

emaillogmessagestatussupport-helpdeskticket

HappyFox

Create and update support tickets and contacts in HappyFox via the HappyFox REST API v1.1.

What it does

Provides eight operations against the HappyFox helpdesk:

Operation Description
list_tickets Retrieve the first page of tickets (up to 10, default page size)
get_ticket Fetch full details for a single ticket by ticket number
create_ticket Open a new ticket for a contact (creates the contact if new)
update_ticket Post a staff reply or change status/priority on an existing ticket
list_contacts Retrieve the first page of contacts
get_contact Fetch a single contact by numeric ID or email address
create_contact Create a new contact with name, email, and optional phone
update_contact Update name, email, or phone on an existing contact

API key setup

  1. Log in to HappyFox as an admin.
  2. Go to Apps > Goodies > API.
  3. Click New API Key, give it a name, and save.
  4. Copy both the API Key and the Auth Code that appear — you need both.

Authentication

HappyFox uses HTTP Basic authentication. The API key is the username and the auth code is the password. The tool encodes them automatically; you supply them as plain strings.

Base URL

https://{subdomain}.happyfox.com/api/1.1/json/

EU-hosted accounts use .happyfox.net — supply the full host as the subdomain input and the tool normalizes it.

Inputs

Input Required Description
apiKey Yes HappyFox API key
authCode Yes HappyFox auth code
subdomain Yes Your HappyFox subdomain (e.g. acme from acme.happyfox.com)
operation Yes One of the eight operations listed above
ticketNumber For ticket ops Ticket number (e.g. 42)
subject create_ticket Ticket subject line
text create/update_ticket Message body (plain text; stored as HTML by HappyFox)
email create_ticket, create/update_contact Contact email address
name create_ticket, create/update_contact Contact display name
categoryId create_ticket Category ID (integer; required by HappyFox)
priorityId create/update_ticket Priority ID (integer)
staffId update_ticket Agent/staff ID performing the update
statusId update_ticket New status ID
contactId get/update_contact Numeric contact ID or email address
phone create/update_contact Contact phone number

Examples

Create a ticket

[
  {
    "name": "open_ticket",
    "tool": "happyfox",
    "input": {
      "apiKey": "{{credential.happyfox_api_key}}",
      "authCode": "{{credential.happyfox_auth_code}}",
      "subdomain": "acme",
      "operation": "create_ticket",
      "name": "Jane Smith",
      "email": "[email protected]",
      "subject": "Cannot log in to my account",
      "text": "I've been locked out since this morning. Please help.",
      "categoryId": "3"
    }
  }
]

Get ticket details

[
  {
    "name": "fetch_ticket",
    "tool": "happyfox",
    "input": {
      "apiKey": "{{credential.happyfox_api_key}}",
      "authCode": "{{credential.happyfox_auth_code}}",
      "subdomain": "acme",
      "operation": "get_ticket",
      "ticketNumber": "42"
    }
  }
]

Update a ticket (staff reply + status change)

[
  {
    "name": "reply_ticket",
    "tool": "happyfox",
    "input": {
      "apiKey": "{{credential.happyfox_api_key}}",
      "authCode": "{{credential.happyfox_auth_code}}",
      "subdomain": "acme",
      "operation": "update_ticket",
      "ticketNumber": "42",
      "staffId": "7",
      "text": "We've reset your password. Please try logging in again.",
      "statusId": "2"
    }
  }
]

Create a contact

[
  {
    "name": "add_contact",
    "tool": "happyfox",
    "input": {
      "apiKey": "{{credential.happyfox_api_key}}",
      "authCode": "{{credential.happyfox_auth_code}}",
      "subdomain": "acme",
      "operation": "create_contact",
      "name": "Jane Smith",
      "email": "[email protected]",
      "phone": "+15550001234"
    }
  }
]

Notes

Publishes

The keys a later task may reference as {{taskName.key}}. Referencing anything not listed here resolves to nothing at run time.

Input Properties

Every property this tool accepts, from its own tool.iml.

Property Type Required Default Description
apiKey string yes DEPRECATED — bind an API Key credential to the task with credentialName instead. A key pasted here is stored in the workflow definition in clear and appears in every export of it. Still honoured for workflows built before the change.
authCode string yes HappyFox auth code. Generated alongside the API key in Apps > Goodies > API.
subdomain string yes Your HappyFox subdomain (the {subdomain} in https://{subdomain}.happyfox.com).
operation string yes One of: list_tickets, get_ticket, create_ticket, update_ticket, list_contacts, get_contact, create_contact, update_contact
ticketNumber string no Ticket number for get_ticket or update_ticket.
subject string no Ticket subject for create_ticket.
text string no Message body for create_ticket or reply text for update_ticket.
email string no Contact email for create_ticket or create_contact.
name string no Contact name for create_ticket or create_contact.
categoryId string no Category ID for create_ticket (required). Use list_tickets response or the HappyFox admin UI to find IDs.
priorityId string no Priority ID for create_ticket or update_ticket.
staffId string no Agent/staff ID for update_ticket (the agent performing the update).
statusId string no Status ID for update_ticket.
contactId string no Contact ID or email address for get_contact or update_contact.
phone string no Contact phone number for create_contact or update_contact.