ClickSend automation · runs daily
Find failed ClickSend texts and see why they failed
After a send, History shows some messages as Failed, and the reason sits behind a small (i) icon on each row.
Cotlet does it in your own ClickSend account with list_sms_history, get_sms_message, list_contacts and remove_contact, called by your AI agent, an n8n workflow or a script.
Hosted · nothing to install or maintain
Can ClickSend do this on its own?
ClickSend shows Sent and Failed in History and an (i) panel per message (checked 23 Oct 2026). The official MCP server can read SMS history and statistics for the last 30 days, but it has no tool to change or remove a contact, so fixing the numbers behind the failures stays manual.
How you do it in ClickSend today
- Click SMS in the left menu and open History.
- Filter Status to Failed, and narrow by date range, To or From number, contact name or subaccount.
- Hover over a message and click the (i) icon to read why it failed, the error code, the cost, the number of parts and the message ID.
- To work on many at once, export the filtered result to Excel; one download holds up to 50,000 records with the message body cut to 160 characters.
- Open the contact list, find each contact and Edit the wrong number or remove the contact.
- The list of failures changes with every send, so this repeats after each campaign.
How to find failed ClickSend texts and see why they failed
List yesterday's failed texts, say why each failed, and for wrong numbers find the contact so I can decide what to remove. - 01
Pull the failures
list_sms_history runs with status failed and the date range you named, and follows next_cursor until the page is older than the range. History keeps full data for four months, so a longer range stops there.
- 02
Read each reason
get_sms_message is called once for each failed number. The agent groups the failures by error text and code, for example a number that does not exist and a sender the destination country does not accept.
- 03
Separate fixable from final
A wrong or missing number is fixable. A block on the sender or a compliance block is not, and the agent lists those for you instead of touching any contact.
- 04
Find the contact
For fixable ones the agent calls list_contacts with query set to the number, in the list you name, and shows the contact it found.
- 05
Remove only after your OK
remove_contact runs only for contacts you approve, one call each. The agent never removes someone for a failure caused by the sender or the carrier.
What you get back
Failed texts yesterday: 9
- 6 invalid recipient number (contacts found in Webinar leads, e.g. Lena Ortiz +447700900142)
- 3 sender not accepted in the destination country (left for you)
Removed after your OK: 0 Other ways to ask
- After each campaign, list the failed texts and the reason for each, but change nothing.
- Find failed texts from the last 7 days sent from our alpha tag and show the destination countries.
- For the Webinar leads list, remove every contact whose last text failed as an invalid number, after listing them.
What ClickSend allows, and what to know first
- ClickSend History shows two statuses, Sent and Failed; Sent means the message went to the carrier, and it can still not reach the recipient.
- The (i) icon on a message shows the reason, the error codes, the cost, the number of message parts and the unique message ID.
- ClickSend keeps full message data for four months, and support can supply archived history up to 2 years back.
- A delivery report email can be set under Account Settings > Messaging Settings > Delivery Reports Rules, and ClickSend recommends choosing only on failure.
- Many failures at once, from invalid numbers or compliance blocks, go to support@clicksend.com, which is available 24/7.
remove_contact asks for your OK by default. To run it daily without you, switch confirmation off for that tool in your dashboard.
Sources: ClickSend Help: Delivery notifications + reports · ClickSend Help: How to view reports · ClickSend Help: Exporting SMS History and Data Security · ClickSend Help: SMS Campaign
Call get_sms_message from a script
curl https://cotlet.dev/api/v1/clicksend/messages/7D2F4C1E-8B3A-4F6D-9E21-5A0C7B1D3E92/sms-message \
-H "Authorization: Bearer $COTLET_API_KEY" {
"message_id": "7D2F4C1E-8B3A-4F6D-9E21-5A0C7B1D3E92",
"status": "failed",
"to": "+447700900142",
"from": "+15550100188",
"sent_at": "2026-10-22 18:04",
"error_code": "INVALID_RECIPIENT",
"error_text": "Invalid recipient number",
"message_parts": 1,
"message_price": "0.00"
} MCP: add https://cotlet.dev/mcp/v1 with the same key; the call is clicksend_read → get_sms_message. Example data.
Schedule it in n8n, Make, Zapier or cronClickSend tools this automation uses
| Tool | Parameters |
|---|---|
| list_sms_history | status, to, from, contact_name, date_from, date_to, cursor |
| get_sms_message | message_id |
| list_contacts | list_id, query, cursor |
| remove_contact | list_id, contact_id |
Frequently asked questions
Is it safe to connect ClickSend to Cotlet?
Yes. You sign in to ClickSend yourself, in your own Cloud Browser in the EU, and we never save your password. Your agents only get ClickSend once you enable it, every background request is listed, and the browser profile is stored encrypted with AES-256-GCM, the cipher 1Password uses for its vaults. The AI model never sees a login, posts and messages wait for your OK, and Disable for agents cuts access in one click. Independent scanners grade cotlet.dev A+ on Qualys SSL Labs, securityheaders.com and Mozilla Observatory; live results are on https://cotlet.dev/security.
Give your agent access to ClickSend.
Free 7-day trial with 2,000 credits, no card needed. Cotlet is independent and not affiliated with ClickSend.