Contacts & Custom Fields

Manage customer data across tickets and conversations.

Overview

Contacts represent the people who submit tickets and start conversations. Every ticket has a contact (the requester). Contacts are workspace-scoped — each workspace has its own contact list with no data shared between workspaces.

Managing Contacts

Contacts can be created manually from the Contacts page or auto-created when an inbound email arrives from a new sender. Each contact has a name, email address, and optional organization. The Contacts page shows a table layout with bulk delete support.

Organizations

Group contacts by company or team. Organizations are nested inside the Contacts page as a tab with modal create/edit forms. A contact can belong to one organization. Organizations help you see all contacts from the same company in one place.

Custom Fields

Define custom fields to store additional data on contacts. 7 field types are supported:

TypeDescription
textFree-form text
numberNumeric values
dateDate picker
selectDropdown with predefined options
booleanYes/no toggle
urlURL with validation
emailEmail with validation

Each field is workspace-scoped. Fields have a multiple flag (allow multiple values for select fields) and a featured flag (show on ticket/conversation detail sidebar). Values are edited inline on the ticket detail page.

Contacts in Tickets & Conversations

Every ticket is linked to a contact (the requester). When an email creates a ticket, the sender becomes the contact automatically. Conversations have an optional contact — set via a contact selector in the inbox detail sidebar. All tickets and conversations for a contact are listed on the contact's detail page.

API Access

All contact operations are available via the REST API — create, update, delete, list with filtering. Custom field definitions and values have their own endpoints. See the API Reference for details.

Frequently Asked Questions

How many custom field types does GoPimi support?

Seven: text, number, date, select, boolean, url, and email. Select fields support multi-value, and any field can be marked as featured to surface on the contact's sidebar.

Can a contact belong to multiple organizations?

No. Each contact has at most one organization. Use tags or custom fields if you need to associate a contact with multiple groupings.

What happens when an inbound email matches an existing contact?

The new message is attributed to that contact by exact email match. If no contact exists, one is created automatically and linked to the ticket or conversation.

Can I bulk import contacts?

Yes. Use POST /contacts for API-based import, or the CSV importer on the contacts page. Both respect the workspace's contact quota.

Related