Skip to content

Autoresponders

An autoresponder answers incoming messages for you. When a customer’s message arrives on one of its accounts, matches its condition and falls inside its schedule, Replyco replies with the autoresponder’s template. Through the API an autoresponder has exactly one condition; you list, read, create and replace autoresponders, and switch one off with inActive.

Field Meaning
id The autoresponder’s id, for GET and PUT /openapi/autoresponder/{id}.
name Its name in the Replyco app.
templateId The template sent as the reply; see Templates.
accountIds The accounts whose incoming messages it answers; see Accounts.
condition.target Which part of the message to test: 1 sender, 2 subject, 4 body, 8 language, 16 the customer’s name.
condition.mode How to compare: 0 contains, 1 does not contain, 2 starts with, 3 ends with, 4 equals.
condition.value The text to look for. Separate several values with ;: any of them matches. Case and spaces are ignored.
frequency 0 (once) replies only to the first message the customer sends in a ticket; 1 (continuous) to every matching message.
priority When several autoresponders match, they run from the lowest number up.
inActive true switches the autoresponder off.
Field Meaning
startDate, endDate The days it is active. Set both to the same date to make it active on every day.
isActiveTimeRanged, startTime, endTime When isActiveTimeRanged is true, it replies only between startTime and endTime (HH:MM:SS). A start after the end spans midnight.
weekdays The days of the week it replies on, 0 for Sunday to 6 for Saturday.
isSendOutsideWorkingHours true makes it reply only outside your company’s working hours, in place of its own time window and weekdays.
delay, delayHours A fixed wait before the reply: delay minutes plus delayHours hours. Send both, with 0 for the part you do not use.
delayInRange, delayRangeFrom, delayRangeTo, delayRangeToHours With delayInRange set to true, a random wait between delayRangeFrom minutes and delayRangeTo minutes plus delayRangeToHours hours. Send all three.

A reply sent by an autoresponder appears among the ticket’s messages with autoresponseId and autoresponseName set (see Messages). When your team replies through POST /openapi/message/send, the ticket’s autoresponder replies that are still in progress are cancelled.

GET /openapi/autoresponder returns every autoresponder of your company in one list, switched-off ones included. It takes no parameters and has no pages. GET /openapi/autoresponder/{id} returns one, and answers 404 when no autoresponder has that id.

An autoresponder built in the Replyco app can have several conditions. The API shows it by its first condition, and a PUT replaces all of them with the one you send.

POST /openapi/autoresponder creates an autoresponder and PUT /openapi/autoresponder/{id} replaces one. Both take the same body, so you can read an autoresponder, change it and send it back. Send name, templateId, at least one id in accountIds, and a condition with a value, and keep startDate on or before endDate. A PUT replaces the condition and the list of accounts with what you send.

Terminal window
curl -X POST https://open-api.replyco.com/openapi/autoresponder \
-H "Authorization: Bearer $ACCESS_TOKEN" -H "Content-Type: application/json" \
-d '{
"name": "Invoice requests, weekdays",
"templateId": "6b2d8e14-3c7a-4f19-a0b5-9e4d2c1f7a83",
"accountIds": ["3f1c2a9e-7b4d-4e8a-9c21-5d6f0a1b2c3d"],
"condition": { "target": 2, "mode": 0, "value": "invoice;receipt" },
"frequency": 0,
"isActiveTimeRanged": true, "startTime": "09:00:00", "endTime": "17:00:00",
"weekdays": [1, 2, 3, 4, 5],
"startDate": "2026-11-02T00:00:00Z", "endDate": "2026-11-02T00:00:00Z"
}'

Each POST creates a new autoresponder, so a retried create leaves two. There is no delete operation: to stop an autoresponder, replace it with inActive set to true.

Method Path Summary Scopes
GET /openapi/autoresponder List autoresponders —
POST /openapi/autoresponder Create an autoresponder —
GET /openapi/autoresponder/{id} Get an autoresponder by id —
PUT /openapi/autoresponder/{id} Update an autoresponder —
Status Meaning Returned by
400 The request is invalid (missing fields, no condition, no accounts, or startDate after endDate).; The request is invalid. POST /openapi/autoresponder, PUT /openapi/autoresponder/{id}
401 User is not authenticated or authorized. GET /openapi/autoresponder, POST /openapi/autoresponder, GET /openapi/autoresponder/{id}, PUT /openapi/autoresponder/{id}
404 No autoresponder with the given id exists. GET /openapi/autoresponder/{id}, PUT /openapi/autoresponder/{id}
  • Templates: the replies an autoresponder sends.
  • Automation rules: change tickets automatically instead of replying.
  • Messages: see which replies an autoresponder sent.
  • API reference: every field of AutoresponderRequest and AutoresponderModel.