Get Message Logs
msg91.get_logs
ActionVoice & SMSconnection required
Calls the MSG91 API with the connection's credentials.
Retrieve per-message delivery rows for SMS or OTP traffic over a window of at most three days.
Connection
- Required
- Yes — the node will not save without one
- Auth type
- API key
- Providers
- MSG91
- Secret shape
- the MSG91 authkey, or {"authkey": "…"}
- Config it needs
- base_url, sms_template_id, otp_template_id
- Resolved by
- config.connection_id, else node.connection_id
Configuration
6 fields, 2 required. A dotted path is a nested object and name[] an array of objects — the editor renders the same tree.
| Field | Type | Required | Default | Constraints | Example |
|---|---|---|---|---|---|
product Which MSG91 channel the report covers. | string | No | sms | one of "sms", "otp" | — |
start_date First day of the reporting window, as a yyyy-mm-dd calendar date. | string | Yes | — | — | 2026-01-01 |
end_date Last day of the window, as a yyyy-mm-dd calendar date; MSG91 allows at most three days of logs per call. | string | Yes | — | — | 2026-01-02 |
request_id Narrow the rows to one submission, using the request_id a send returned. | string | No | — | — | — |
fields Comma-separated projection, such as telNum,status,deliveryDate; leave blank for MSG91's default columns. | string | No | — | — | telNum,status,deliveryDate |
limit Maximum number of rows to return; MSG91 defaults to 1000. | number | No | — | ≥ 1 | — |
Example configuration
Every value below is the contract’s own example or default — nothing invented.
{
"end_date": "2026-01-02",
"fields": "telNum,status,deliveryDate",
"product": "sms",
"start_date": "2026-01-01"
}Output
One shape.
result
| Field | Type | Example |
|---|---|---|
product The channel the report was pulled for, 'sms' or 'otp'. | string | — |
data One row per day (analytics) or per message (logs). | array | — |
count How many rows the response carried. | number | — |
total How many rows MSG91 matched, before the limit. | number | — |
pagination_token Token MSG91 returned for the next page, empty when there is none. | string | — |
{
"count": 0,
"data": [],
"pagination_token": "",
"product": "",
"total": 0
}See Get Message Logs run in a workflow.
In a technical demo we add the MSG91 connection, drop the node on the canvas and let Workflow Health pre-flight it before the first real run.