smartlead_create_folder
Create folders in Smart Delivery to organize and manage email marketing tests, enabling structured campaign management.
Instructions
Create a folder in Smart Delivery to organize tests.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Name of the folder to create |
Implementation Reference
- src/handlers/smartDelivery.ts:1131-1170 (handler)The core execution logic for the smartlead_create_folder tool. Validates arguments using isCreateFolderParams, creates a SmartDelivery API client, posts the folder name to '/spam-test/folder', and returns the JSON response or error message.async function handleCreateFolder( args: unknown, apiClient: AxiosInstance, withRetry: <T>(operation: () => Promise<T>, context: string) => Promise<T> ) { if (!isCreateFolderParams(args)) { throw new McpError( ErrorCode.InvalidParams, 'Invalid arguments for smartlead_create_folder' ); } try { const smartDeliveryClient = createSmartDeliveryClient(apiClient); const { name } = args; const response = await withRetry( async () => smartDeliveryClient.post('/spam-test/folder', { name }), 'create folder' ); return { content: [ { type: 'text', text: JSON.stringify(response.data, null, 2), }, ], isError: false, }; } catch (error: any) { return { content: [{ type: 'text', text: `API Error: ${error.response?.data?.message || error.message}` }], isError: true, }; } }
- src/handlers/smartDelivery.ts:37-128 (registration)The dispatcher function for all SmartDelivery tools, including the switch case that routes 'smartlead_create_folder' to handleCreateFolder.export async function handleSmartDeliveryTool( toolName: string, args: unknown, apiClient: AxiosInstance, withRetry: <T>(operation: () => Promise<T>, context: string) => Promise<T> ) { switch (toolName) { case 'smartlead_get_region_wise_providers': { return handleGetRegionWiseProviders(args, apiClient, withRetry); } case 'smartlead_create_manual_placement_test': { return handleCreateManualPlacementTest(args, apiClient, withRetry); } case 'smartlead_create_automated_placement_test': { return handleCreateAutomatedPlacementTest(args, apiClient, withRetry); } case 'smartlead_get_spam_test_details': { return handleGetSpamTestDetails(args, apiClient, withRetry); } case 'smartlead_delete_smart_delivery_tests': { return handleDeleteSmartDeliveryTests(args, apiClient, withRetry); } case 'smartlead_stop_automated_test': { return handleStopAutomatedTest(args, apiClient, withRetry); } case 'smartlead_list_all_tests': { return handleListAllTests(args, apiClient, withRetry); } case 'smartlead_get_provider_wise_report': { return handleGetProviderWiseReport(args, apiClient, withRetry); } case 'smartlead_get_group_wise_report': { return handleGetGroupWiseReport(args, apiClient, withRetry); } case 'smartlead_get_sender_account_wise_report': { return handleGetSenderAccountWiseReport(args, apiClient, withRetry); } case 'smartlead_get_spam_filter_details': { return handleGetSpamFilterDetails(args, apiClient, withRetry); } case 'smartlead_get_dkim_details': { return handleGetDkimDetails(args, apiClient, withRetry); } case 'smartlead_get_spf_details': { return handleGetSpfDetails(args, apiClient, withRetry); } case 'smartlead_get_rdns_details': { return handleGetRdnsDetails(args, apiClient, withRetry); } case 'smartlead_get_sender_accounts': { return handleGetSenderAccounts(args, apiClient, withRetry); } case 'smartlead_get_blacklist': { return handleGetBlacklist(args, apiClient, withRetry); } case 'smartlead_get_email_content': { return handleGetEmailContent(args, apiClient, withRetry); } case 'smartlead_get_ip_analytics': { return handleGetIpAnalytics(args, apiClient, withRetry); } case 'smartlead_get_email_headers': { return handleGetEmailHeaders(args, apiClient, withRetry); } case 'smartlead_get_schedule_history': { return handleGetScheduleHistory(args, apiClient, withRetry); } case 'smartlead_get_ip_details': { return handleGetIpDetails(args, apiClient, withRetry); } case 'smartlead_get_mailbox_summary': { return handleGetMailboxSummary(args, apiClient, withRetry); } case 'smartlead_get_mailbox_count': { return handleGetMailboxCount(args, apiClient, withRetry); } case 'smartlead_get_all_folders': { return handleGetAllFolders(args, apiClient, withRetry); } case 'smartlead_create_folder': { return handleCreateFolder(args, apiClient, withRetry); } case 'smartlead_get_folder_by_id': { return handleGetFolderById(args, apiClient, withRetry); } case 'smartlead_delete_folder': { return handleDeleteFolder(args, apiClient, withRetry); } default: throw new Error(`Unknown SmartDelivery tool: ${toolName}`); } }
- src/tools/smartDelivery.ts:532-546 (schema)Tool definition with input schema requiring a 'name' string parameter.export const CREATE_FOLDER_TOOL: CategoryTool = { name: 'smartlead_create_folder', description: 'Create a folder in Smart Delivery to organize tests.', category: ToolCategory.SMART_DELIVERY, inputSchema: { type: 'object', properties: { name: { type: 'string', description: 'Name of the folder to create', }, }, required: ['name'], }, };
- src/types/smartDelivery.ts:405-412 (schema)Runtime type guard function used in the handler to validate input parameters match CreateFolderParams (object with 'name': string).export function isCreateFolderParams(args: unknown): args is CreateFolderParams { return ( typeof args === 'object' && args !== null && 'name' in args && typeof (args as CreateFolderParams).name === 'string' ); }
- src/tools/smartDelivery.ts:581-609 (registration)Array of all SmartDelivery tools including CREATE_FOLDER_TOOL, likely used for MCP tool registration.export const smartDeliveryTools = [ GET_REGION_WISE_PROVIDERS_TOOL, CREATE_MANUAL_PLACEMENT_TEST_TOOL, CREATE_AUTOMATED_PLACEMENT_TEST_TOOL, GET_SPAM_TEST_DETAILS_TOOL, DELETE_SMART_DELIVERY_TESTS_TOOL, STOP_AUTOMATED_TEST_TOOL, LIST_ALL_TESTS_TOOL, GET_PROVIDER_WISE_REPORT_TOOL, GET_GROUP_WISE_REPORT_TOOL, GET_SENDER_ACCOUNT_WISE_REPORT_TOOL, GET_SPAM_FILTER_DETAILS_TOOL, GET_DKIM_DETAILS_TOOL, GET_SPF_DETAILS_TOOL, GET_RDNS_DETAILS_TOOL, GET_SENDER_ACCOUNTS_TOOL, GET_BLACKLIST_TOOL, GET_EMAIL_CONTENT_TOOL, GET_IP_ANALYTICS_TOOL, GET_EMAIL_HEADERS_TOOL, GET_SCHEDULE_HISTORY_TOOL, GET_IP_DETAILS_TOOL, GET_MAILBOX_SUMMARY_TOOL, GET_MAILBOX_COUNT_TOOL, GET_ALL_FOLDERS_TOOL, CREATE_FOLDER_TOOL, GET_FOLDER_BY_ID_TOOL, DELETE_FOLDER_TOOL, ];