- Documentation
ClickSend integration
Send SMS, MMS, voice, and email messages and react to inbound replies and delivery receipts on behalf of your clients.
What it does
The ClickSend integration lets your agency drive a client's outbound messaging program from inside a workflow. Connect a client's ClickSend account once and your workflows can send transactional or marketing SMS, MMS attachments, and text-to-speech voice calls through the v3 REST API, manage contact lists and contacts, look up the connected account balance, page through outbound SMS history, and react in real time when ClickSend posts an inbound SMS reply or an SMS delivery receipt to the configured webhook URL.
Connect a ClickSend account
- Open your workspace in TaskJuice and navigate to Connections.
- Choose ClickSend and click Connect.
- In a new tab, open the ClickSend API credentials page signed in as the client (or as your agency, if the client has delegated key creation to you).
- Copy the account username (the email or username used to sign in to ClickSend) and an API key from the Developers, API Credentials panel.
- Paste the username and API key into TaskJuice. Both values are sent as HTTP Basic credentials on every request.
To rotate or revoke the key, return to the ClickSend API credentials page, generate a new key, and update the TaskJuice connection.
Triggers
clicksend/inbound-smsfires when ClickSend posts an inbound SMS reply to the trigger's inbound URL. One POST carries one inbound message, and the workflow receives the full ClickSend inbound payload as a single activation.clicksend/sms-delivery-receiptfires when ClickSend posts an SMS delivery receipt to the trigger's inbound URL. One POST per receipt, with the message id, status, and any custom string echoed back from the original outbound send.
Each trigger publishes an inbound URL. Paste it into ClickSend under Messaging, Inbound SMS Rules (for replies) or under SMS, Delivery Receipts (for receipts), and set the X-TaskJuice-Inbound-Secret header on the webhook URL to a shared secret you also paste into the TaskJuice trigger. TaskJuice verifies that header on every inbound POST before activating the workflow.
Actions
clicksend/send-smssends one or more SMS messages through the v3/sms/sendendpoint, with optional sender id, scheduled delivery, and a custom string that is echoed back on delivery receipts.clicksend/get-sms-historypages through outbound SMS history for the connected account, optionally filtered by date range and free-text search, using ClickSend's Laravel-stylepage+limitpagination.clicksend/send-mmssends one or more MMS messages with a media attachment through the v3/mms/sendendpoint.clicksend/send-voicesends one or more text-to-speech voice calls through the v3/voice/sendendpoint with selectable voice and BCP-47 language.clicksend/get-accountretrieves the connected ClickSend account profile, including the live balance, plan, and contact details.clicksend/create-contact-listcreates a new ClickSend contact list scoped to the connected account.clicksend/add-contactadds a contact (phone number plus optional email and custom fields) to an existing ClickSend contact list.
Known limitations
- The integration uses ClickSend's v3 REST API with the connected account's username and API key. Per-account rate limits, daily message caps, sender id restrictions, and pricing are governed by the client's ClickSend plan, not by TaskJuice. When ClickSend returns a 429, the action surfaces as a retryable rate-limit error and honors the recommended backoff.
- Inbound webhook verification uses a shared secret on a custom header set on the ClickSend webhook URL. ClickSend does not sign individual webhook bodies, so treat the inbound URL plus the shared header as the secret and rotate them alongside the API key.
- Sender id rules vary by country. Alphanumeric sender ids work in many regions but are blocked in the United States and Canada, where a dedicated number is required. ClickSend returns a 422 with a clear error message when a sender id is rejected.
- The Send SMS action accepts an array of messages but ClickSend bills each recipient individually. Use the
total_pricefield in the response to confirm the spend before triggering follow-up steps. - Voice messages are capped at roughly 1200 characters of text-to-speech body per call. Longer scripts are rejected with a 422.