Configuring AI
Choose your AI provider, set API keys, and customize system prompts per tenant.
Pact's AI capabilities — email drafting, contact enrichment, and lead scoring — run against a configurable provider. You can use Anthropic, OpenAI, or Azure OpenAI.
Supported providers
| Provider | Models | Notes |
|---|---|---|
| Anthropic | Claude 3.5 Sonnet, Claude 3 Haiku | Best quality for long-form drafts |
| OpenAI | GPT-4o, GPT-4o mini | Wide ecosystem, function-calling support |
| Azure OpenAI | GPT-4o (hosted) | Data residency in your Azure region |
Setting your API key
Go to Settings → AI & Enrichment. Enter your API key for the provider you want to use and click Save. The key is encrypted at rest and never exposed in the API response.
If you are an admin managing multiple tenants, per-tenant keys are set in Admin → Tenants → [Tenant] → AI Settings.
Key scoping
API keys are scoped to the tenant. Workers that process enrichment and sequence jobs always use the key for the tenant that owns the job — cross-tenant key usage is not possible by design.
Customizing system prompts
Every AI feature ships with a default system prompt. You can override these prompts per tenant to match your brand voice, tone guidelines, or industry context.
Go to Admin → AI Prompt Library (staff only) or Settings → AI Prompts (tenant admin). Available prompt slots:
| Slot | Default behavior |
|---|---|
email_draft | Drafts a cold outreach email for a given contact + context |
email_followup | Drafts a follow-up when no reply detected |
subject_line | Generates 3 subject line variants for A/B testing |
enrichment_summary | Summarizes a contact's enrichment data into a one-line insight |
lead_score_rationale | Explains why a contact received a particular score |
Prompt variables
Default and custom prompts can reference template variables:
{{contact.name}} Full name of the contact
{{contact.company}} Company name
{{contact.title}} Job title
{{sender.name}} Name of the sender (from their profile)
{{sender.company}} Sender's company
{{sequence.name}} Name of the sequence the step belongs to
Variables not present in the contact record are replaced with a sensible fallback (e.g., {{contact.title}} becomes an empty string if the field is blank).
Example custom prompt
You are a concise sales development representative at {{sender.company}}.
Draft a 3-sentence cold email to {{contact.name}} at {{contact.company}}.
Focus on the value Pact provides for consent-native outreach.
Do not include a subject line.
AI drafting in the sequence editor
In the sequence step editor, click Draft with AI to generate a starting point. The draft incorporates:
- The contact's firmographic data (company, industry, employee count).
- Prior steps in the sequence for context continuity.
- Your custom
email_draftprompt if one is set.
You can regenerate the draft or edit it inline before saving.
Lead scoring
Lead scoring runs nightly and assigns each contact a score from 0–100 based on:
- Engagement signals (email opens, clicks, replies).
- Firmographic fit (industry, company size) against your ideal customer profile.
- Recency of activity.
Scores are visible on the contact detail page and available as a filter in list views and playbook rules.
To configure the ideal customer profile (ICP) used for scoring, go to Settings → Lead Scoring → ICP.
Token usage and costs
Pact does not mark up AI token costs. You pay the provider directly at their listed rates, using your own API key. Usage statistics (tokens in/out by feature) are available in Settings → AI & Enrichment → Usage.
Disabling AI features
If you prefer not to use AI features, leave the API key blank. Draft buttons will be hidden and enrichment jobs will skip the AI summarization step. Everything else (CSV import, sequences, consent management) works without an AI key.