Skip to content

Tool Execution Log Details

For: Developers and account owners who connect APIs as toolkits, and support leadsRequires: The Admin roleScreenshots show sample data

The Tool Execution Log Details page shows one tool run in full: one attempt by the assistant to call your API through a toolkit. You see the full address that was called, the request the assistant sent, the response your API returned and, when the assistant tried more than once, every attempt on the same call in order. Use it to tell whether a problem lay with your API, the toolkit’s set-up or the values the AI chose. You open it from a row on AnalyticsTool runs. It needs the Admin role, because it shows request and response bodies in full.

The same content also appears, without the page heading, in a customer’s chat details.

  • See exactly what was called. The top card shows the toolkit, tool, full endpoint with every value filled in, method, status, attempt number and failure kind. Check what was called.
  • Read the request and the response. Both bodies are shown formatted, each with a copy button. Read the request and the response.
  • Follow a retry. When the assistant tried the same tool more than once in a turn, a section lists every attempt with its arguments and the response or the reason it was stopped. Follow the attempts on a call.
The "Tool Execution Log Details" page of a successful tool run. The highlighted "Execution Information" card shows a success badge, "Toolkit" Demo Billing API, "Tool" getInvoice, the full "Endpoint" https://api.example.com/billing/v2/invoices/INV-2026-0481, "Method" GET, "Status Code" 200, an orange "Attempt" 2 badge with the failure kind "No failure", the execution time, a duration of 334 ms and the user id cus_48654. Below follow "Request Data" and "Response Data".The "Tool Execution Log Details" page of a successful tool run. The highlighted "Execution Information" card shows a success badge, "Toolkit" Demo Billing API, "Tool" getInvoice, the full "Endpoint" https://api.example.com/billing/v2/invoices/INV-2026-0481, "Method" GET, "Status Code" 200, an orange "Attempt" 2 badge with the failure kind "No failure", the execution time, a duration of 334 ms and the user id cus_48654. Below follow "Request Data" and "Response Data".
The top of a tool run shows the full endpoint, the result and which attempt this was.
What this screenshot shows
Screen
Tool Execution Log Details (/admin/tool-execution-logs/:id)
Highlighted
“”, execution-information-card, success, attempt 2. summarises the tool run
Also visible
getInvoice GET 200 on the Demo Billing API, attempt 2, No failure
Purpose
the tool run page as it opens
RegionWhat it showsWhat you do there
HeaderA back arrow and the heading Tool Execution Log DetailsReturn to Tool runs
Execution InformationResult, toolkit, tool, endpoint, method, status, attempt, failure kind, time, duration and userCheck what was called
Request DataThe body the assistant sentCheck the values the AI chose
Response DataThe body your API returnedCheck what your API answered
Attempts, bottomEvery attempt on the same call, when there was more than oneFollow a retry

The Execution Information card sums up the run. Its header carries a Success or Failed badge.

FieldWhat it shows
ToolkitThe toolkit’s name
ToolThe tool’s name
EndpointThe full address, with the values from the AI filled in and any query parameters; (not dispatched) when nothing was sent
MethodGET, POST, PUT, DELETE and so on; - when nothing was sent
Status CodeYour API’s HTTP code, or not sent
AttemptThe attempt number, orange from 2 on, with the failure kind badge (green for No failure)
Executed AtDate and time in US format
DurationMilliseconds, or seconds written as “seconds” in every language; “N/A” when not recorded
User IDThe visitor’s identity in the widget, when known

Example: a run of a tool that fetches an invoice shows GET, status 200, attempt 2 and No failure. The endpoint ends with the invoice number the AI used. Attempt 2 tells you an earlier attempt on the same call failed; the attempts section at the bottom shows why.

The middle of the page shows both bodies as formatted JSON in read-only boxes.

The middle of the tool run page. "Request Data" shows "No request data", because a GET call sends no body. "Response Data" shows the API's JSON answer, pretty-printed: invoiceNumber INV-2026-0481, status paid, issuedAt 2026-09-01, currency USD, total 640 and duplicateOf INV-2026-0476. The highlighted "Copy" button of Response Data copies the response; masking rules apply to this response before it is stored, the request is stored as sent.The middle of the tool run page. "Request Data" shows "No request data", because a GET call sends no body. "Response Data" shows the API's JSON answer, pretty-printed: invoiceNumber INV-2026-0481, status paid, issuedAt 2026-09-01, currency USD, total 640 and duplicateOf INV-2026-0476. The highlighted "Copy" button of Response Data copies the response; masking rules apply to this response before it is stored, the request is stored as sent.
Request and response are shown as stored; responses are masked by your rules, requests are not.
What this screenshot shows
Screen
Tool Execution Log Details (/admin/tool-execution-logs/:id)
Highlighted
button “Copy”, response-data, enabled. copies the response JSON
Also visible
Request Data: No request data; Response Data JSON for INV-2026-0481
Purpose
what was sent and received
  • Request Data is the body the assistant sent, built from the AI’s arguments. A GET request has no body and shows No request data. For an attempt that was never sent, it shows the arguments the AI proposed.
  • Response Data is what your API returned, after your masking rules were applied. For an attempt that was never sent, it shows the explanation StrikeUp gave the AI: which parameter failed, what was expected and what was sent.
  • Copy above each box copies its content; the button reads Copied! for two seconds.

Request bodies and endpoint addresses are stored exactly as sent, without masking. Response bodies are masked by your rules under SecurityData masking before they are stored; if masking fails, the original response is stored. Request headers, and so credentials, are never stored.

When the assistant tried the same tool more than once in the same turn, the section “Attempts on this call (…)” appears at the bottom, with the explanation Every attempt the assistant made at this tool in the same turn, in order. An attempt that was not sent shows the check that stopped it — the parameter, what was expected and what the assistant sent. If the same parameter keeps failing, improve that parameter's description or example on the toolkit.

The highlighted section "Attempts on this call (2)" at the bottom of the tool run page, with a short explanation that it lists every attempt the assistant made at this tool in the same turn, in order. The first card is attempt 1, HTTP 404, "API rejected (4xx)": the "Response" reads that invoice INV-2026-0814 does not exist. The second card, outlined as the one you are viewing, is attempt 2, HTTP 200, with the corrected invoice INV-2026-0481. Selecting a card opens that attempt.The highlighted section "Attempts on this call (2)" at the bottom of the tool run page, with a short explanation that it lists every attempt the assistant made at this tool in the same turn, in order. The first card is attempt 1, HTTP 404, "API rejected (4xx)": the "Response" reads that invoice INV-2026-0814 does not exist. The second card, outlined as the one you are viewing, is attempt 2, HTTP 200, with the corrected invoice INV-2026-0481. Selecting a card opens that attempt.
When the assistant retries a tool, every attempt is listed in order; here a mistyped invoice number got a 404 and the retry succeeded.
What this screenshot shows
Screen
Tool Execution Log Details (/admin/tool-execution-logs/:id)
Highlighted
“”, attempts-section, 2 attempts. lists every attempt of this tool call
Also visible
Attempt 1: 404, API rejected (4xx), response Invoice INV-2026-0814 does not exist; Attempt 2: 200, current
Purpose
follow a retry

Each attempt is a card, in order, with:

  • The attempt number, outlined green for a success or red for a failure. The attempt you are viewing is outlined in blue.
  • The HTTP code in blue, or not sent in orange, and the failure kind.
  • A sub-agent’s name, in purple, when a sub-agent made the attempt.
  • Arguments sent: what the AI sent.
  • Response or, for an attempt that never left StrikeUp, Why it was not sent.

Select another card to open that attempt’s own page.

Example: attempt 1 asked for an invoice number with two digits swapped and got 404 with API rejected (4xx); its response says the invoice does not exist. Attempt 2 used the correct number and got 200. The assistant recovered on its own; if this happens often, add an example of a valid invoice number to the tool’s parameter in the toolkit.

  • The section appears only when there was more than one attempt. A run with a single attempt has no attempts section.
  • The assistant makes at most 3 attempts at one tool call.
Where

At the top left, before the heading Tool Execution Log Details.

What

Returns to AnalyticsTool runs, on the first page with no filters.

Why

Go back to the list after checking one run.

Where

Above Request Data and above Response Data.

What

Copies the formatted body to your clipboard and shows Copied! for two seconds.

Why

Paste the exact request into your own API client to reproduce the call, or the response into a ticket.

Where

In the attempts section at the bottom, shown only when the call had more than one attempt.

What

One card per attempt with result, HTTP code or not sent, failure kind, sub-agent, Arguments sent and the response or Why it was not sent. Selecting a card opens that attempt; in a customer’s chat details the cards cannot be selected.

Why

Compare what changed between a failed attempt and the one that succeeded.

Part of the screenWho sees it
The whole pageUsers with the Admin role. Everyone else gets Tool execution log not found
TopicFact
MaskingResponses are masked by your rules before they are stored. Requests and endpoint addresses, including values and query parameters, are stored without masking.
No credentialsRequest headers, and so API keys and tokens, are never stored.
Attempts belong togetherAttempts are grouped by the assistant’s reply they belonged to and the tool’s name. A run without a reply, such as a direct call, is its own only attempt.
Kept indefinitelyStrikeUp keeps every run, with no automatic deletion. The only automatic deletion in Analytics is the event history of finished agent jobs: their events are deleted once they are more than 7 days old.
Read-onlyNothing on the page can be changed, and it has no refresh button; reload the browser page to load it again.
Dates and unitsDates are in US format and long durations read “seconds” in every language.

Why it was not sent on an attempt card shows the explanation StrikeUp gave the AI when it stopped the attempt before calling your API: the parameter that failed, what was expected and what the AI sent. The AI uses it to correct its next attempt.

No request data under Request Data means the request had no body. That is normal for GET and DELETE requests, whose values travel in the endpoint address, which the Execution Information card shows in full.

The attempts section on Tool Execution Log Details appears only when the assistant tried the same tool more than once in the same turn. A run that succeeded or failed on the first try has nothing to compare, so the section is left out.

Why does the endpoint say (not dispatched)?

Section titled “Why does the endpoint say (not dispatched)?”

(not dispatched) in Endpoint means StrikeUp stopped the attempt before any request was sent, usually because the AI’s arguments failed the tool’s checks. Response Data then shows why it was stopped.

An orange attempt number of 2 or more means earlier attempts on the same call failed and the assistant tried again. The run you are looking at succeeded; the attempts section at the bottom of Tool Execution Log Details shows what went wrong before.

Can I see the headers or credentials sent to my API?

Section titled “Can I see the headers or credentials sent to my API?”

No. Request headers are never stored with a tool run, so API keys, tokens and other credentials sent to your API do not appear on Tool Execution Log Details. The endpoint, method and bodies are shown.

Yes. Your API’s response is masked by your rules under SecurityData masking before it is stored, so Response Data shows masked values. The request and the endpoint address are stored as sent, without masking.

Tool Execution Log Details needs the Admin role because it shows full request and response bodies. Members with another role can see the list on AnalyticsTool runs, but get Tool execution log not found here.

SymptomWhat to check
Tool execution log not foundThe page needs the Admin role. With the Admin role, the link may be wrong; the same message also appears when loading failed, so reload the page.
Failed to load log details above a loaded runThe list of toolkits could not be loaded, so the toolkit name may be missing. The run itself is complete. Reload the page.
The same parameter fails on every attemptRead Why it was not sent or the response, then improve that parameter’s description or example in the toolkit under ConfigureToolkits.
Personal data appears in Request Data or the endpointRequests and addresses are not masked. Avoid tool parameters that carry personal data where you can; responses are masked by your rules.
The response shows an error from your APIRead its message and status code; compare Request Data with what your API expects.