# Agentalk API overview

## Agentalk API overview

The Agentalk API lets you manage contacts, campaigns, outbound calls, and organization-level resources programmatically.

Use it for CRM sync, lead routing, marketing automation, and AI-driven outbound workflows.

{% hint style="info" %}

### Next in the API reference

Continue to the [Contacts reference](/api-reference/contacts.md).
{% endhint %}

### API token

Manage your API token in **Organization Settings → Account**.

Keep tokens secure. Do not expose them publicly.

### What you can do

With the Agentalk API, you can automate core workflows across contacts, campaigns, calls, and account resources.

#### Contacts

* Create or update contacts
* Search contacts by phone, name, or email
* Update or clear specific fields
* Add or remove contact tags
* Delete contacts

#### Campaigns

* Retrieve the campaign list
* Add contacts to campaigns
* Activate campaigns programmatically

#### Calls

* Initiate outbound calls
* Trigger calls from automated workflows
* Link calls to campaigns and contacts

#### Account management

* Manage custom fields
* Retrieve organization phone numbers
* Manage organization-level tags

### Authentication

All API requests use an organization API token.

Send the token as a Bearer token in the `Authorization` header:

```http
Authorization: Bearer YOUR_API_TOKEN
```

Each request runs in the context of your organization.

### Base URL

Use the main API domain as the base URL:

```
https://api.agentalk.io
```

All endpoints are available under `/api/...`.

### Quickstart

This example authenticates with your API token, creates or updates a contact, then searches for it.

{% stepper %}
{% step %}

### Set your token

Export your API token before sending requests.

```bash
export AGENTALK_API_TOKEN="YOUR_API_TOKEN"
export AGENTALK_BASE_URL="https://api.agentalk.io"
```

{% endstep %}

{% step %}

### Create or update a contact

Send a `POST` request to `/api/contacts`.

```bash
curl --request POST "$AGENTALK_BASE_URL/api/contacts" \
  --header "Authorization: Bearer $AGENTALK_API_TOKEN" \
  --header "Content-Type: application/json" \
  --data '{
    "phone": "+14155550123",
    "firstName": "Dana",
    "lastName": "Levi",
    "email": "dana@example.com",
    "tags": ["demo", "quickstart"]
  }'
```

If the phone number already exists, the contact is updated.
{% endstep %}

{% step %}

### Search for the contact

Use the phone number to confirm the contact exists.

```bash
curl --request GET "$AGENTALK_BASE_URL/api/contacts/search?phone=%2B14155550123" \
  --header "Authorization: Bearer $AGENTALK_API_TOKEN"
```

{% endstep %}
{% endstepper %}

{% hint style="success" %}
Ready for the next step? Go to the [Contacts reference](/api-reference/contacts.md) for full request and response details.
{% endhint %}

### No-code and low-code automation

For faster integrations, Agentalk provides a ready-to-use Make.com app.

With the Make integration, you can:

* Connect Agentalk to CRMs, spreadsheets, forms, ads, and messaging platforms
* Build automations without writing code
* Trigger calls, manage contacts, and run campaigns visually

Get started with Agentalk's Make app, then authenticate with your API token and build scenarios immediately.

### Who is this API for?

* Developers building custom integrations
* Automation specialists using Make or n8n
* CRM and marketing teams
* AI and voice automation platforms
* Agencies managing outbound workflows for clients

Whether you build with code or no-code tools, Agentalk fits into your existing stack.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.agentalk.io/api-reference/agentalk-api-overview.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
