managing-contacts
Use when using Mailtrap Contacts API or UI to add, update, bulk import, list, segment marketing contacts, custom fields, or custom events.
Skill by mailtrap
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/mailtrap-managing-contacts
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: design, backend, marketing, sales
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/managing-contacts
What's inside
- Skill name
managing-contacts- Description
- Use when using Mailtrap Contacts API or UI to add, update, bulk import, list, segment marketing contacts, custom fields, or custom events. Use when syncing contacts from a CRM or warehouse, or building audiences for campaigns.
- License
- MIT
- Instructions
- 102 lines in SKILL.md · view on GitHub
Before installing
- Instructions call the network
Files (1)
- SKILL.md
SKILL.md (first lines)
# Managing Mailtrap contacts
## Overview
**Before generating API request bodies:** check the [Contacts OpenAPI spec](https://github.com/mailtrap/mailtrap-openapi/blob/main/specs/contacts.openapi.yml) for current field names, required parameters, and nested structures.
**Contacts** are the marketing database: lists, segments, custom fields, and imports for **campaign audiences** and related workflows. The **Contacts API** automates create/update and can feed **CRM or CDP sync** (your code, or tools like Zapier, Make, n8n — see [Import contacts](https://docs.mailtrap.io/email-marketing/contacts/import-contacts.md)).
**Suppressions** (hard bounces, spam complaints, unsubscribes on the **sending** side) live in the sending product and **block delivery** for those addresses on your streams. That is applied separately from **marketing** filters (segments, list membership, consent flags) that decide who is eligible for campaigns. For sending-side blocks, see [Suppressions](https://docs.mailtrap.io/developers/email-sending/suppressions.md) and skill `sending-emails`.
**Related skills:** `authorizing-api-requests` (tokens, env vars, `account_id` resolution), `sending-emails` (live send paths).
## When to use
- Programmatic contact management (create, update, [bulk import](https://docs.mailtrap.io/developers/promotional/contacts/bulk-import.md))
- Sync with CRMs or data warehouses
- Contact list cleanup and CSV import
- Updating contacts with **custom fields** or firing **custom events** for [automations](https://docs.mailtrap.io/email-marketing/automations.md)
- Segments and [custom fields](https://docs.mailtrap.io/email-marketing/contacts/custom-fields.md) for audience building
## Authorization
All endpoints below need `Authorization: Bearer $MAILTRAP_API_TOKEN` and an `$MAILTRAP_ACCOUNT_ID` in the path. See skill `authorizing-api-requests` for token scope, storage, and the one-liner that resolves `$MAILTRAP_ACCOUNT_ID` from `GET https://mailtrap.io/api/accounts`.
## Endpoints (replace placeholders)
| Action | Method | URL | Reference |
| -------------------------------------- | ------- | ----------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- |
| Create / get / update / delete contact | various | `https://mailtrap.io/api/accounts/$MAILTRAP_ACCOUNT_ID/contacts` | [Contacts](https://docs.mailtrap.io/developers/promotional/contacts/contacts.md) |
| Bulk import (async job) | `POST` | `https://mailtrap.io/api/accounts/$MAILTRAP_ACCOUNT_ID/contacts/imports` | [Bulk import](https://docs.mailtrap.io/developers/promotional/contacts/bulk-import.md) |
| Contact lists | various | `https://mailtrap.io/api/accounts/$MAILTRAP_ACCOUNT_ID/contacts/lists` | [Contact lists](https://docs.mailtrap.io/developers/promotional/contacts/contact-lists.md) |
| Custom fields | various | `https://mailtrap.io/api/accounts/$MAILTRAP_ACCOUNT_ID/contacts/fields` | [Contact fields](https://docs.mailtrap.io/developers/promotional/contacts/contact-fields.md) |
| Custom events | `POST` | `https://mailtrap.io/api/accounts/$MAILTRAP_ACCOUNT_ID/contacts/{contact_identifier}/events` | [Contact events](https://docs.mailtrap.io/developers/promotional/contacts/contact-events.md) |
| Export contacts | various | `https://mailtrap.io/api/accounts/$MAILTRAP_ACCOUNT_ID/contacts/exports` | [Export contacts](https://docs.mailtrap.io/developers/promotional/contacts/export-contacts.md) |
- Rate limit (typical): **200 requests per 60 seconds** per account — prefer bulk import for large loads.
- **Bulk import limit:** up to **50,000** contacts per import request (async job); poll import status with `GET .../contacts/imports/{import_id}`. See [Bulk import](https://docs.mailtrap.io/developers/promotional/contacts/bulk-import.md).
## Examples (`curl`)
### Single contact create (with custom fields)
```bash
curl -X POST "https://mailtrap.io/api/accounts/$MAILTRAP_ACCOUNT_ID/contacts" \
-H "Authorization: Bearer $MAILTRAP_API_TOKEN" \
-H 'Content-Type: application/json' \
-d '{
"contact": {
"email": "john.smith@example.com",
"fields": {"first_name": "John", "last_name": "Smith", "company": "Example Inc"},
"list_ids": [1, 2, 3]
}
}'
```
### Bulk import (array of contacts)
```bash
curl -X POST "https://mailtrap.io/api/accounts/$MAILTRAP_ACCOUNT_ID/contacts/imports" \
-H "Authorization: Bearer $MAILTRAP_API_TOKEN" \
-H 'Content-Type: application/json' \
-d '{
"contacts": [
{"email": "user1@example.com", "fields": {"first_name": "John"}, "list_ids_included": [1, 2]},
{"email": "user2@example.com", "fields": {"first_name": "Jane"}, "list_ids_included": [1]}
]
}'
```
### Custom event (event name + payload)
```bash
curl -X POST "https://mailtrap.io/api/accounts/$MAILTRAP_ACCOUNT_ID/contacts/{contact_identifier}/events" \
-H "Authorization: Bearer $MAILTRAP_API_TOKEN" \
-H 'Content-Type: application/json' \
-d '{"name": "UserLogin", "params": {"user_id": 101, "is_active": true}}'
```
## Concepts
- **Lists** — explicitly defined list of contacts.
- **Segments** — dynamic groups; see [Segments](https://docs.mailtrap.io/email-marketing/contacts/segments.md).
- **Custom fields** — properties like first and last name or membership level; see [Custom fields](https://docs.mailtrap.io/email-marketing/contacts/custom-fields.md).
- **Custom events** — `POST .../events` with an event `name` and `params` object for [automations](https://docs.mailtrap.io/email-marketing/automations.md).
## CRM and sync
- **API:** suitable for real-time or scheduled sync from your CRM or database.
- **No-code:** Zapier, Make.com, n8n per [Import contacts – third-party tools](https://docs.mailtrap.io/email-marketing/contacts/import-contacts.md).
## Campaigns use case
Contacts power **marketing campaigns**: you maintain clean lists, consent, and attributes here; campaign authoring and scheduling are product features documented in [Campaigns](https://docs.mailtrap.io/email-marketing/campaigns.md).
## Common mistakes
| Mistake | Fix |
| --------------------------------------------------- | ---------------------------------------------------------------------------- |
| Hitting rate limits with one-by-one creates | Use `/contacts/imports` for bulk loads (respect 50k per request) and backoff |
| Treating marketing contacts as sending suppressions | Use **Suppressions** for blocked recipients on send streams |From mailtrap/mailtrap-skills, MIT.
More from mailtrap/mailtrap-skills
- 0.547score
converting-email-templates
mailtrap
Use when converting or migrating email templates from another provider (SendGrid, Mailgun, Mandrill, Postmark, Brevo, Amazon SES) to Mailtrap-compatible…
SkillCFreshness: C★ 11Claude Code +9 - 0.542score
authorizing-api-requests
mailtrap
Use when authenticating or authorizing requests to any Mailtrap API (Email Send, Email Testing/Sandbox, Templates, Contacts, Sending Domains, Suppressions).
SkillCFreshness: C★ 11Claude Code +9 - 0.542score
sending-emails
mailtrap
Use when integrating, configuring, or troubleshooting Mailtrap live email sending (Email API or SMTP).
SkillCFreshness: C★ 11Claude Code +9 - 0.542score
setting-up-sending-domain
mailtrap
Use when adding or verifying a Mailtrap sending domain, DNS propagation issues, registrar or DNS provider steps, compliance after verification, or click…
SkillCFreshness: C★ 11Claude Code +9 - 0.542score
using-email-templates
mailtrap
Use when creating or sending Mailtrap-hosted email templates, Handlebars personalization, template UUID in API payloads, or debugging variables and preview.
SkillCFreshness: C★ 11Claude Code +9 - 0.512score
testing-with-sandbox
mailtrap
Use when capturing outbound email in development or staging without delivering to real recipients, inspecting HTML or headers, running spam or structure…
SkillCFreshness: C★ 11Claude Code +9
Signals
- Stars
- 11
- Forks
- 1
- Open issues
- 0
- Last commit (this folder)
- May 13, 2026 (5 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/mailtrap/mailtrap-skills
- Website
- mailtrap.io
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from mailtrap
- 0.547score
converting-email-templates
mailtrap
Use when converting or migrating email templates from another provider (SendGrid, Mailgun, Mandrill, Postmark, Brevo, Amazon SES) to Mailtrap-compatible…
SkillCFreshness: C★ 11Claude Code +9 - 0.542score
authorizing-api-requests
mailtrap
Use when authenticating or authorizing requests to any Mailtrap API (Email Send, Email Testing/Sandbox, Templates, Contacts, Sending Domains, Suppressions).
SkillCFreshness: C★ 11Claude Code +9 - 0.542score
sending-emails
mailtrap
Use when integrating, configuring, or troubleshooting Mailtrap live email sending (Email API or SMTP).
SkillCFreshness: C★ 11Claude Code +9 - 0.542score
setting-up-sending-domain
mailtrap
Use when adding or verifying a Mailtrap sending domain, DNS propagation issues, registrar or DNS provider steps, compliance after verification, or click…
SkillCFreshness: C★ 11Claude Code +9 - 0.542score
using-email-templates
mailtrap
Use when creating or sending Mailtrap-hosted email templates, Handlebars personalization, template UUID in API payloads, or debugging variables and preview.
SkillCFreshness: C★ 11Claude Code +9 - 0.512score
testing-with-sandbox
mailtrap
Use when capturing outbound email in development or staging without delivering to real recipients, inspecting HTML or headers, running spam or structure…
SkillCFreshness: C★ 11Claude Code +9
Cite this page
managing-contacts skill. Agent Mart. https://agentmart.dev/skills/mailtrap-managing-contacts (last updated 2026-10-24)