Back to skills

Manage Contact

Manage contacts in Sinch Conversation API. Use when the user wants to create a contact, update contact information, list contacts, find a contact, get contact details, add channels to a contact, or manage contact channels. Handles contact creation, updates, and channel associations.

5 stars
0 votes
0 copies
0 views
Added 12/19/2025
data-aiapi

Works with

apimcp

Install via CLI

$openskills install sinch/sinch-plugins
Download Zip
Files
SKILL.md
---
name: manage-contact
description: Manage contacts in Sinch Conversation API. Use when the user wants to create a contact, update contact information, list contacts, find a contact, get contact details, add channels to a contact, or manage contact channels. Handles contact creation, updates, and channel associations.
---

# Contact Management

Manage contacts and their channel associations in Sinch Conversation API using the Conversation API specification. Note: MCP tools do not provide contact management tools, so this skill always uses the Conversation API endpoints. Contacts represent end-users and can span multiple messaging channels.

## Instructions

1. **Identify the operation from user request:**
   - **Create contact**: New contact with channel identity
   - **Update contact**: Modify contact information or add channels
   - **List contacts**: Retrieve contacts with optional filtering
   - **Get contact**: Retrieve specific contact details
   - **Find contact**: Search for contact by phone number, email, or ID

2. **Extract contact information:**
   - Contact identifier: phone number, email, contact ID, or name
   - Channel identities: WhatsApp, SMS, or other channels with identities
   - Display name: Contact's display name
   - Email: Contact's email address
   - Language: Preferred language code (e.g., EN_US)

3. **Use Conversation API endpoints to perform operations:**
   - **Note**: MCP Sinch does not provide contact management tools, so this skill always uses the Conversation API endpoints
   - **Create contact**: `POST /v1/projects/{project_id}/contacts` (Operation ID: `Contact_CreateContact`)
   - **Update contact**: `PATCH /v1/projects/{project_id}/contacts/{contact_id}` (Operation ID: `Contact_UpdateContact`)
   - **Get contact**: `GET /v1/projects/{project_id}/contacts/{contact_id}` (Operation ID: `Contact_GetContact`)
   - **List contacts**: `GET /v1/projects/{project_id}/contacts` (Operation ID: `Contact_ListContacts`)
   - Authentication: Use Basic Auth or OAuth2 with credentials from environment variables
   - Region: Use CONVERSATION_REGION environment variable (us, eu, or br)
   - Base URL: `https://{region}.conversation.api.sinch.com`

4. **Response handling:**
   - Confirm successful operations with contact ID
   - Display contact information clearly
   - Show associated channels for contacts
   - Report errors with actionable guidance

## Examples

**Natural language prompts that trigger this Skill:**
- "Create a contact for John with WhatsApp number +1234567890"
- "Add SMS channel to contact abc123"
- "Show me contact details for +1234567890"
- "List all contacts"
- "Find contact by phone number +1234567890"
- "Update contact abc123 with email john@example.com"
- "What channels does contact xyz789 have?"

**Conversation API Usage (Required - no MCP alternative):**
1. **Note**: MCP Sinch does not provide contact management tools, so this skill always uses the Conversation API
2. Use the Conversation API endpoints for contact operations (see endpoints above)
3. Authentication: Use Basic Auth with CONVERSATION_KEY_ID and CONVERSATION_KEY_SECRET, or OAuth2
4. Include required headers: `Authorization`, `Content-Type: application/json`
5. For list contacts, use query parameters: `page_size`, `page_token`, `external_id`, `channel`, `identity`
6. For create/update, include request body with `channel_identities`, `display_name`, `email`, `language`, `metadata`

## Contact Operations

### Create Contact
- Create with single channel identity
- Create with multiple channel identities
- Set display name, email, and language preferences

### Update Contact
- Add new channel identities
- Update display name or email
- Modify language preferences
- Update metadata

### Retrieve Contact
- Get contact by ID
- Get contact by channel identity (phone number, etc.)
- List contacts with pagination
- Filter contacts by criteria

## Channel Identity Format

Channel identities are channel-specific:
- **WHATSAPP**: Phone number with country code (e.g., +1234567890)
- **SMS**: Phone number with country code (e.g., +1234567890)
- **MESSENGER**: Facebook Page Scoped ID (PSID)
- **VIBERBM**: Viber user ID
- **INSTAGRAM**: Instagram user ID
- **TELEGRAM**: Telegram user ID
- **LINE**: LINE user ID
- **WECHAT**: WeChat OpenID
- **KAKAOTALK**: KakaoTalk user ID
- **APPLEBC**: Apple user identifier

## Notes

- **MCP Note**: MCP Sinch does not provide contact management tools, so this skill always uses the Conversation API endpoints
- Contacts can have multiple channel identities
- Channel identities must be unique per channel
- Use the Conversation API endpoints directly - reference the OpenAPI spec for exact parameter names and types
- Contact creation is automatic when sending messages to new recipients
- Contacts are scoped to apps
- List contacts supports filtering by `channel` and `identity` query parameters
- Maximum page_size for list contacts is 20 (default is 10)

Attribution

Comments (0)

No comments yet. Be the first to comment!