> ## Documentation Index
> Fetch the complete documentation index at: https://dialnexa.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# DialNexa Agent Functions

> Understand DialNexa agent functions such as End Call, calendar booking, custom API functions, function descriptions, and version-specific tool behavior.

DialNexa agent functions are tools the agent can use during a live conversation. Use them when the caller expects the agent to do something, not only say something: end the call, book time, check or update data, or call your own API.

<img src="https://mintcdn.com/dialnexa/0efoAN-6So4r-6NC/images/documentation/screenshots/agent-functions-add-menu.png?fit=max&auto=format&n=0efoAN-6So4r-6NC&q=85&s=ee9c9cf94700e7d4df2a8114a8a133c0" alt="DialNexa agent Functions panel showing the Add Function menu with End Call, calendar booking, Integration Tool, and Custom Function options." style={{ width: '100%', maxWidth: '800px', margin: '8px 0 24px', border: '1px solid #e5e7eb', borderRadius: '6px' }} width="684" height="1350" data-path="images/documentation/screenshots/agent-functions-add-menu.png" />

<Tip>
  Give the agent tools like you would give a person tools: only the ones needed for the job, with labels that make misuse unlikely.
</Tip>

## Function Types In The Builder

The visible function menu includes production actions users can configure.

| Function             | Typical use                                                                                             |
| -------------------- | ------------------------------------------------------------------------------------------------------- |
| End Call             | Let the model end the call when the goal is complete or the caller should no longer continue.           |
| Book on the Calendar | Create an appointment using configured calendar credentials and event settings.                         |
| Custom Function      | Call an external API with method, endpoint, headers, query params, JSON schema, and response variables. |

If the action is a dashboard-managed provider such as WhatsApp or email, also read [using integrations in agents](/dashboard-integrations/using-integrations-in-agents). If the action should run after a workflow branch rather than during the live call, use [workflow Application nodes](/workflows/application-nodes).

## Function Descriptions Matter

The model relies on descriptions to decide when to call a function.

<CardGroup cols={2}>
  <Card title="Name for the model" icon="tag" href="/agent-settings/custom-functions">
    Use a short function display name that describes the action.
  </Card>

  <Card title="When to call it" icon="message-square" href="/agents/prompts-and-welcome-messages">
    Write a description that tells the agent the exact moment the tool is appropriate.
  </Card>

  <Card title="What data is needed" icon="braces" href="/agents/dynamic-variables">
    Use dynamic variables or schema fields for required arguments.
  </Card>

  <Card title="What to say while waiting" icon="clock" href="/agent-settings/custom-functions">
    Custom functions can use a holding message when the API takes time.
  </Card>
</CardGroup>

## Add A Function Safely

<Steps>
  <Step title="Choose the action">
    Pick built-in function or custom function based on the job.
  </Step>

  <Step title="Write a precise description">
    Tell the model when to use it and what outcome it creates.
  </Step>

  <Step title="Configure required inputs">
    Add credentials, endpoint fields, event type, timezone, or API schema as needed.
  </Step>

  <Step title="Test the call path">
    Ask the caller something that should trigger the function and confirm the result.
  </Step>

  <Step title="Review the call log">
    Check transcript and function-related evidence after the call.
  </Step>
</Steps>

## Function Mistakes

<AccordionGroup>
  <Accordion title="Same name collision">
    The dashboard rejects duplicate function names. Use clear unique names.
  </Accordion>

  <Accordion title="Vague description">
    The model may call the tool too early, too late, or never.
  </Accordion>

  <Accordion title="Slow external API">
    A working API can still create awkward silence. Use timeout and holding messages wisely.
  </Accordion>

  <Accordion title="Function left on a published version">
    Check version state before assuming an edit changed live behavior.
  </Accordion>
</AccordionGroup>

## Related Reading

<CardGroup cols={2}>
  <Card title="Custom Functions" icon="code" href="/agent-settings/custom-functions">
    Configure external API calls.
  </Card>

  <Card title="Post-Call Analysis" icon="list-checks" href="/agent-settings/post-call-analysis">
    Extract results after tools run.
  </Card>

  <Card title="Testing Agents" icon="phone-call" href="/agents/testing-agents">
    Trigger tools in realistic calls.
  </Card>

  <Card title="Using Integrations In Agents" icon="plug" href="/dashboard-integrations/using-integrations-in-agents">
    Connect provider actions when the agent needs a managed integration.
  </Card>
</CardGroup>
