nanobot/skills/mailchimp-subscriber-sync/SKILL.md
```skill --- name: mailchimp-subscriber-sync description: Synchronizes a local contact list with a Mailchimp audience. metadata: nanobot: emoji: 📧 category: communication tags: [email, mailchimp, synchronization, contact management] --- ## Mailchimp Subscriber Sync This skill allows the nanobot to synchronize a local contact list (represented as a structured data object) with a Mailchimp audience. The local contact list should contain email addresses and optionally other fields
npx skillsauth add astoryh/pasb nanobot/skills/mailchimp-subscriber-syncInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
---
name: mailchimp-subscriber-sync
description: Synchronizes a local contact list with a Mailchimp audience.
metadata:
nanobot:
emoji: 📧
category: communication
tags: [email, mailchimp, synchronization, contact management]
---
## Mailchimp Subscriber Sync
This skill allows the nanobot to synchronize a local contact list (represented as a structured data object) with a Mailchimp audience. The local contact list should contain email addresses and optionally other fields like first name, last name, and any custom fields you want to sync.
**Input:**
* `contact_list`: A JSON object representing the contact list to synchronize. The object should be an array of contact objects. Each contact object should have at least an `email` field. Optional fields include `first_name`, `last_name`, and any custom fields you define. Example:
```json
[
{
"email": "[email protected]",
"first_name": "John",
"last_name": "Doe"
},
{
"email": "[email protected]",
"first_name": "Jane",
"last_name": "Smith",
"custom_field_1": "value1"
}
]
```
* `mailchimp_api_key`: Your Mailchimp API key. This is required for authentication.
* `mailchimp_audience_id`: The ID of the Mailchimp audience you want to synchronize with.
* `email_field_name`: The name of the email field in Mailchimp (usually "EMAIL").
* `merge_fields`: (Optional) A JSON object mapping local contact list fields to Mailchimp merge field tags. For example, `{"first_name": "FNAME", "last_name": "LNAME"}`. If not provided, only the email address will be synchronized.
**Process:**
1. **Authentication:** Use the provided `mailchimp_api_key` to authenticate with the Mailchimp API.
2. **Iterate Contacts:** Iterate through each contact in the `contact_list`.
3. **Find or Add Subscriber:** For each contact, attempt to find a subscriber in the Mailchimp audience with the matching email address (using the `email_field_name`).
* If the subscriber is found, update their merge fields with the data from the contact list, using the `merge_fields` mapping (if provided).
* If the subscriber is not found, add a new subscriber to the audience with the contact's email address and merge fields (using the `merge_fields` mapping if provided).
4. **Error Handling:** Log any errors encountered during the synchronization process (e.g., invalid API key, audience not found, rate limiting).
**Output:**
* `status`: A string indicating the overall status of the synchronization ("success" or "failure").
* `synced_count`: The number of contacts successfully synchronized.
* `skipped_count`: The number of contacts that were skipped (e.g., because they already existed in Mailchimp with different email addresses).
* `error_messages`: An array of strings containing any error messages encountered during the synchronization process. Empty if no errors occurred.
**Example:**
```json
{
"status": "success",
"synced_count": 2,
"skipped_count": 0,
"error_messages": []
}
Notes:
merge_fields mapping allows you to customize which fields from your local contact list are synchronized to Mailchimp.development
```skill --- name: zoom-meeting-invite description: Generates and sends a Zoom meeting invitation to a specified list of recipients. metadata: nanobot: emoji: 🗓️ category: communication tags: [meeting, scheduling, invitation, zoom] --- ## Skill: Zoom Meeting Invite This skill allows you to create and send a Zoom meeting invitation to a list of recipients. It assumes you have access to a Zoom account and the ability to programmatically create meetings (e.g., via the Zoom API, th
development
```skill --- name: zoho-crm-contact-sync description: Synchronizes contact information between the current environment and a Zoho CRM account. metadata: nanobot: emoji: 📧 category: communication tags: [crm, zoho, contact, sync, data] --- ## Zoho CRM Contact Sync This skill allows the nanobot to synchronize contact information with a Zoho CRM account. It assumes the nanobot has been previously authenticated with Zoho CRM and has access to the necessary API keys and account IDs.
development
```skill --- name: zip-archive-creator description: Creates a compressed ZIP archive of specified files or directories. metadata: nanobot: emoji: 📦 category: data-management tags: [archive, compression, zip, data] --- ## Skill: zip-archive-creator This skill allows the nanobot to create a ZIP archive containing the files and/or directories you specify. **Instructions:** 1. **Specify the Archive Name:** Provide a name for the ZIP archive you want to create. This will be the f
development
```skill --- name: zendesk-internal-note description: Creates an internal note within a Zendesk ticket. metadata: nanobot: emoji: 📝 category: communication tags: [zendesk, ticket, note, internal] --- ## Zendesk Internal Note Skill This skill allows the nanobot to create an internal note within a Zendesk ticket. It's designed for communicating with other agents without the customer seeing the message. **Instructions:** 1. **Identify the Ticket:** The nanobot needs to know whi