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

# AI Agents

> Learn how AI agents work in Markifact — from task execution and approvals to sharing conversations with your team, branching them, custom agents, and credit usage.

An **AI Agent** in Markifact is a conversational interface that can execute real marketing operations on your behalf. Unlike workflows, which follow a fixed sequence of steps, agents interpret your request and decide which operations to run, then ask for your approval before making changes.

Agents handle any marketing task you throw at them, from building a campaign and adding negative keywords to generating a presentation or pulling a quick report. Run them on demand or on a schedule.

***

## How agents work

1. You describe a task in natural language (e.g. "Create a Meta campaign for our spring sale").
2. The agent determines which operations are needed and executes them.
3. Before any changes go live, the agent surfaces the results for your review.
4. You approve, reject, or ask the agent to revise.

This human-in-the-loop model means the agent handles the heavy lifting while you stay in control of what actually gets published or modified.

***

## What agents can do

Agents have access to 1000+ operations across all major ad platforms and marketing tools. These are the same building blocks that power workflows, so anything you can do in a workflow node, an agent can do on demand.

Common tasks include:

* Creating and modifying ad campaigns across Google Ads, Meta Ads, TikTok Ads, and others
* Pulling performance reports and data summaries
* Adding or removing negative keywords
* Building Google Slides presentations from data
* Uploading creatives and managing assets
* Running account audits and QA checks

***

## Channels

You can interact with agents through multiple channels:

* **Markifact app** — the default web interface
* **Slack** — via a whitelabeled Slack app
* **WhatsApp** — chat directly with your agent
* **API** — integrate agent access into your own tools

***

## Sharing a conversation with your team

Every conversation is private to you by default, even when the agent itself is shared with your team. You can share an individual conversation so your teammates can read it and work in it with you.

<Note>
  Sharing is only useful on a **Team plan** workspace, since that is where you can invite teammates. Free and Pro workspaces have a single seat, so there is nobody to share with.
</Note>

To share, open the conversation and click **Share** in the top right, or use the **Share** option in the conversation menu in the sidebar. The button changes to **Shared**, and the conversation appears in your teammates' sidebars with a people icon.

<Info>
  You can only share a conversation on an agent that is already shared with your team. If the agent is private, share the agent first from **Agent Settings**, then share the conversation.
</Info>

### What your teammates can do

| Action                                         | Owner | Teammates |
| ---------------------------------------------- | ----- | --------- |
| Read the conversation and its results          | Yes   | Yes       |
| Send messages                                  | Yes   | Yes       |
| Approve or reject pending actions              | Yes   | Yes       |
| Rate responses                                 | Yes   | Yes       |
| Change the model, tools, and approval settings | Yes   | Yes       |
| Rename, pin, or delete the conversation        | Yes   | No        |
| Share or make private                          | Yes   | No        |
| Edit past messages                             | No    | No        |

Every message shows the name and avatar of whoever sent it, so it is always clear who asked what.

### Working at the same time

A shared conversation refreshes roughly every 20 seconds while you have it open, so your teammates' messages appear on their own. While someone else's request is running you see **"Working on a request from ..."** and the input is briefly disabled, because the agent handles one request at a time per conversation.

A conversation that is waiting on an approval appears under **Needs approval** at the top of the sidebar for everyone with access, so whoever is available can unblock it.

Editing a past message is disabled while a conversation is shared. Editing rewrites the conversation from that point and removes everything after it, which would erase your teammates' work. Make the conversation private again and editing works as usual.

### Making it private again

Click **Shared** and confirm. Teammates lose access immediately: the conversation leaves their sidebar, and anyone with it open is returned to their agent.

Only conversations started in the Markifact app can be shared. Conversations from Slack, WhatsApp, or a scheduled task have no Share option, but you can branch them into an app conversation and share that.

***

## Branching a conversation

Branching forks a conversation at a chosen point into a new chat. Use it when a thread has gone somewhere useful and you want to try a different direction without losing what you have, or when a single conversation has drifted across several topics.

Hover any agent response, click the **fork** icon next to the copy and rating buttons, and confirm. You land in a new conversation holding everything up to and including that response, ready for your next message. The original is never modified.

| Carried over                                   | Left behind                             |
| ---------------------------------------------- | --------------------------------------- |
| Every message up to the branch point           | Anything after the branch point         |
| Tool calls and their results                   | Ratings given on the original responses |
| The agent, model, tools, and approval settings | Failed responses                        |

A few details worth knowing:

* The branch is **always private**, even when you branch a shared conversation. Share it separately if you want your team in it.
* In the branch, all earlier messages are attributed to you, so branching a shared conversation gives you a clean personal copy rather than a co-authored transcript.
* The new conversation is named **"Branch of ..."**, so it is easy to spot in the sidebar.
* Branching a Slack, WhatsApp, or scheduled conversation produces a normal app conversation, which you can then share or edit.
* Branching costs no credits. Only your next message runs the agent.

<Tip>
  Long threads cost more per message, because the whole history is sent as context. Branching right after the part you actually need keeps the new conversation cheap and focused.
</Tip>

***

## Custom agents

You can create multiple agents, each configured for a specific purpose. Every custom agent has its own:

* **Name** — to identify it across your workspace
* **Instructions** — a system prompt that defines the agent's scope and behavior
* **Connected tools** — which platforms and operations the agent can access

This is useful when you want dedicated agents for different functions — one for reporting, another for campaign management, another for a specific client account, and so on.

***

## AI models

Agents support multiple AI providers. You can choose which model powers each agent:

* **OpenAI**
* **Google Gemini**
* **Anthropic Claude**

You can also bring your own API keys to use your preferred provider directly. See [Bring Your Own Keys](/core-concepts/bring-your-own-keys) for setup details.

***

## Agent credits

Agent credit usage is separate from workflows and is based on token consumption.

**Task Agent** costs are based on the **tokens consumed** multiplied by a **model-specific multiplier**. For example, gpt-5.2 may be treated as 1x, while higher-cost reasoning models like Claude Opus can be 5x or more.

### Long conversations

Because each message includes conversation history as context, longer threads consume more tokens per response. Markifact automatically compacts history to reduce this, but very long threads will still cost more over time. Start a fresh task when switching objectives.

### Using your own API keys

When you bring your own API keys:

* **Task Agent AI tokens** are billed directly through your provider — no Markifact credits consumed for AI usage.
* The **AI Agent node** in workflows costs a flat **1 credit per run**, regardless of tool count.
* All other AI workflow nodes (Ask, Structure, Analyze Data, etc.) cost **0 credits**.

For full credit tables and model pricing, see [Credits & Usage](/core-concepts/credits).

***

## Agent vs. Workflow

|                 | Agent                                    | Workflow                             |
| --------------- | ---------------------------------------- | ------------------------------------ |
| **Best for**    | Tasks where AI decides the steps         | Structured, multi-step automation    |
| **Execution**   | Conversational, you describe the task    | Visual, you build a flow on a canvas |
| **Flexibility** | Adapts to your request dynamically       | Follows a fixed sequence every time  |
| **Approval**    | Human-in-the-loop before changes go live | Runs automatically once triggered    |

Both agents and workflows share the same underlying operations and platform connections. Choose agents when you want the AI to figure out the steps, and workflows when you want full control over every step.

<Note>
  Also weighing MCP? See [Agent vs MCP vs Workflow](/core-concepts/agent-vs-mcp-vs-workflow) for a full decision guide across all three.
</Note>

***

## Related

<CardGroup cols={2}>
  <Card title="Agent Skills" icon="bolt" href="/core-concepts/agent-skills">
    Learn when to use skills, how they load on demand, and how to structure them for repeatable work.
  </Card>

  <Card title="Agent Memory" icon="brain" href="/core-concepts/agent-memory">
    How agents remember your clients, targets, and preferences across conversations.
  </Card>

  <Card title="AI Agent Node" icon="robot" href="/nodes/ai/ai_agent">
    Use an AI agent inside a workflow to add dynamic decision-making to your automations.
  </Card>

  <Card title="Credits & Usage" icon="coins" href="/core-concepts/credits">
    Full credit tables, model pricing, and usage tracking.
  </Card>
</CardGroup>
