Requirements
- Target platform
- OpenClaw
- Install method
- Manual import
- Extraction
- Extract archive
- Prerequisites
- OpenClaw
- Primary doc
- SKILL.md
Fetches messages from specific Helpscout inboxes
Fetches messages from specific Helpscout inboxes
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete.
I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run.
This skill interacts with Helpscout to fetch conversations from specific inboxes and send replies. It is designed to streamline customer support operations directly from OpenClaw.
Fetch conversations from multiple Helpscout inboxes Send replies to conversations (customer-visible or internal notes) Filter by status, folder, assignee, customer, tags, and more Sort conversations by various fields Embed thread data directly in the response Securely authenticate using an API key and App Secret Handle potential errors like invalid credentials or network issues gracefully
To use this skill, you need to configure Helpscout credentials and specify the IDs of the inboxes you want to fetch conversations from.
Go to your Helpscout account. Navigate to Manage > Apps. Create or open your app to retrieve the following details: API Key App Secret
Retrieve the IDs of the inboxes you want to fetch conversations from using Helpscout's API documentation.
Use the following command to save your Helpscout credentials: cat ~/.openclaw/openclaw.json | jq '.skills.entries.helpscout = { enabled: true, env: { API_KEY: "your-api-key", APP_SECRET: "your-app-secret", INBOX_IDS: ["inbox-id-1", "inbox-id-2"] } }' | openclaw gateway config.apply
To ensure the credentials are properly set, check your configuration: openclaw gateway config.get Make sure the helpscout object looks correct (avoid sharing the API_KEY or APP_SECRET).
Fetch all active conversations from configured inboxes: const { fetchAllInboxes } = require('./index.js'); // Fetch all active conversations (default) const results = await fetchAllInboxes();
const { fetchConversations } = require('./index.js'); // Fetch closed conversations from a specific inbox const conversations = await fetchConversations(321755, { status: 'closed', sortField: 'modifiedAt', sortOrder: 'desc', page: 1 }); // Fetch conversations assigned to a specific user const assigned = await fetchConversations(321755, { assignedTo: 782728, status: 'active' }); // Fetch conversations with a specific tag const tagged = await fetchConversations(321755, { tag: 'urgent', status: 'active' }); // Fetch conversations with embedded threads const withThreads = await fetchConversations(321755, { embed: 'threads', status: 'active' }); // Advanced search query const searched = await fetchConversations(321755, { query: '(customerEmail:user@example.com)', status: 'all' });
const { sendReply } = require('./index.js'); // Send a customer-visible reply (will send email) await sendReply(3227506031, { text: 'Hi there,\n\nThanks for your message!\n\nBest regards,', inboxId: 321755 // Required to auto-fetch customer ID }); // Send a reply without emailing the customer (imported) await sendReply(3227506031, { text: 'Draft reply - not sent to customer yet', customerId: 856475517, // Or provide inboxId to auto-fetch imported: true }); // Send a reply and close the conversation await sendReply(3227506031, { text: 'All done! Let me know if you need anything else.', inboxId: 321755, status: 'closed' }); // Create an internal note const { createNote } = require('./index.js'); await createNote(3227506031, 'Internal note: Customer called, issue resolved.');
ParameterTypeDescriptiontextstringRequired. The reply text (HTML supported)inboxIdnumberInbox ID - required if customerId not provided (auto-fetches customer)customerIdnumberCustomer ID - if not provided, will be auto-fetched using inboxIdimportedbooleanMark as imported (won't email customer). Default: falsestatusstringConversation status after reply: active, pending, closed. Optional.userIdnumberUser ID sending the reply. Optional (defaults to authenticated user).
ParameterTypeDescriptiontextstringRequired. The note text (HTML supported)
ParameterTypeDescriptionstatusstringFilter by status: active, pending, closed, spam, or all (default: active)folderIdnumberFilter by folder IDassignedTonumberFilter by user IDcustomerIdnumberFilter by customer IDnumbernumberFilter by conversation numbermodifiedSincestringISO8601 date to filter conversations modified after this datesortFieldstringSort field: createdAt, mailboxId, modifiedAt, number, score, status, subject (default: createdAt)sortOrderstringSort order: asc or desc (default: desc)tagstringFilter by tag namequerystringAdvanced search query in fieldId:value formatembedstringComma-separated list of resources to embed: threadspagenumberPage number for pagination (default: 1)
Never hardcode credentials into your codebase. Use OpenClaw's config.apply system for securely managing sensitive details. Avoid sharing sensitive parts of your configuration output (API_KEY and APP_SECRET) with others.
Ensure compliance with Helpscout's API usage policies. Add documentation for any new features added.
Messaging, meetings, inboxes, CRM, and teammate communication surfaces.
Largest current source with strong distribution and engagement signals.