Test and troubleshoot functions
Test functions as state-changing operations, not only as responses. A polite answer is not proof that a calendar event, CRM record, message, transfer, or webhook completed.
Before testing
Confirm:
- the function exists in the same workspace;
- the provider reports Connected;
- only required actions are enabled;
- the function is attached to the intended draft;
- the prompt contains exact markers for live actions;
- confirmation, ordering, success, and failure rules are present;
- Infolist shows expected fields and destinations; and
- draft saving has completed.
Test matrix
| Case | Expected behavior |
|---|---|
| Valid request | Collect inputs, confirm when needed, call once, and report the returned result. |
| Missing information | Ask one focused question at a time; never submit placeholders. |
| Ambiguous choice | Clarify the record, date, destination, or service. |
| User declines confirmation | Do not perform the consequential action. |
| No lookup result | Do not invent a record or ID; use the approved fallback. |
| Provider failure | Do not claim success; offer retry or escalation. |
| Duplicate request | Avoid repeating a write after confirmed success. |
| Out-of-scope request | Explain the limit and use the approved handoff. |
For ordered workflows, verify values returned by one action reach the next. A Jobber service request, for example, requires the client ID from lookup or lead creation—not a calendar confirmation ID.
Browser-test safety
Browser testing uses the current saved draft. In an owner test, connected tools can perform real external actions.
- Use dedicated test records, calendars, recipients, numbers, and webhooks where possible.
- Label test records clearly.
- Confirm external state directly in the provider.
- Remove test records through normal provider controls.
- Do not use real customer data unless authorized and necessary.
Diagnose by layer
The function is missing from Add Function
Confirm it is in the same workspace and compatible with the agent channel. Call Transfer is voice-only.
The integration is Unavailable or Disconnected
Reconnect it under Integrations. Never repair OAuth or credentials by adding secrets to the prompt.
The prompt shows a warning
Insert the marker from the attached-function menu and remove invented or stale markers. Repair a disconnected provider before retesting.
The agent never calls the action
Confirm attachment, enabled action, saved draft, and a specific prompt trigger. Replace vague guidance with an ordered rule.
The agent calls too early or with wrong values
Add explicit required inputs and an immediate confirmation step. Make prerequisites unambiguous and prohibit placeholders.
The agent claims false success
Allow success language only after the final action reports success. Define separate behavior for no result, validation error, provider error, and timeout.
A post-call summary does not arrive
Confirm Email is connected, its destination is correct, the summary action is enabled and attached, and the conversation completed. Post-call actions do not appear as live model calls.
Draft testing works but live calls do not
Publish the saved draft. Live conversations use the published function snapshot and prompt, not unpublished edits. Confirm the agent is Active and test a new conversation.
Publish and monitor
- Publish with a version name and note identifying the change.
- Run one controlled live conversation.
- Verify the external result.
- Review the conversation log and action outcome.
- Monitor failures and duplicate writes before increasing traffic.