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

# PostCo

> Let AI Agents check return status, return parcel tracking, and refund status from PostCo.

The PostCo integration lets your AI Agents answer "where is my return, and has my refund gone through?" without handing the ticket to your team. The agent looks up the return in PostCo and replies with its status, how the customer is sending the items back, where the return parcel is, the returned items, and the refund status.

## When to use it

Use PostCo to automate return questions such as:

* "Did you receive my return?"
* "Where is my return parcel?"
* "Has my refund been issued?"
* "Who pays for the return shipping?"
* "Did I already start a return for this order?"

The integration is read-only. It does not create, approve, receive, or change returns in PostCo.

## Set up PostCo

You need a PostCo API key from your PostCo retailer account.

**1. Create an API key in PostCo**

Log in to [PostCo](https://360.postco.co). In the bottom left of the sidebar, click the **Account Settings** icon and choose **Manage API Keys**. Click **Create API Key**, give it a name such as "Chatarmin CX", and copy the key.

PostCo shows the key only once. Each key belongs to one shop and can only read that shop's returns.

**2. Open integrations**

[Open integrations](https://armin.cx/app/_/settings/integrations) in your workspace settings and choose **PostCo**.

If PostCo is not listed, contact your Chatarmin CX account team to check availability for your workspace.

**3. Connect the account**

Click **Connect**, paste the **API Key**, and click **Connect** to save. cx checks the key against PostCo before saving it. A successful connection shows **Connected**.

cx stores the key encrypted.

**4. Enable the actions on an agent**

[Open AI Agents](https://armin.cx/app/_/ai/agents-v2), choose your agent, and enable the PostCo actions you want in its [actions](/ai-agents/skills-and-actions). Select the connected PostCo account the agent may use.

## AI Agent actions

All four actions are read-only. None of them need [human approval](/ai-agents/human-in-the-loop).

| Action | Use it to |
| - | - |
| **Get PostCo return** | Look up a return by order number or PostCo return ID. |
| **Find PostCo returns by email** | Look up a customer's returns by their email address. |
| **Get PostCo return shipment** | Check where the return parcel is and who pays for shipping. |
| **Check PostCo return eligibility** | See whether a return already exists for an order and what is in it. |

Customers write order numbers with or without the `#`, for example `1001` or `#1001`. The actions try both.

### Get PostCo return and Find PostCo returns by email

The agent gets back:

* the return status, such as pending, reviewed, received, completed, rejected, or archived
* the return method, including the courier
* the returned items with the customer's return reasons
* a refund status and the refund gateways

Results are newest first, up to 25 returns. If PostCo has more, the agent is told the list is partial and should not claim it has seen every return.

### Get PostCo return shipment

This action finds a return by **order number** or **PostCo return ID**. The agent gets back:

* the shipment status, such as label created, in transit, delivered, or delivery failed
* the courier and the tracking number
* the shipping fee
* who pays for the return shipping

Some returns have no parcel, for example returns handed in at a store. The agent is told that there is no parcel instead of getting an error.

| Who pays | What the agent sees |
| - | - |
| You pay | The customer does not pay. Payment status is `free`. |
| Customer paid | The customer paid the shipping fee. Payment status is `paid`. |
| Customer still has to pay | Payment status is `pending`. |
| Taken from the refund | The fee is deducted from the customer's refund. Payment status is `deduct_from_refund`. |
| After an exchange | The fee is handled once the exchange is done. Payment status is `process_after_resolve`. |
| Not tracked | Payment does not apply to this shipping method. Payment status is `not_applicable`. |

### Check PostCo return eligibility

This action finds out whether a return already exists for an order number and which items are in it. Use it to avoid starting a second return for the same items.

> [!WARNING]
>
> This action only reports existing returns. PostCo does not share your return policy or return window, so it cannot tell a customer whether they are allowed to return something. The agent is told not to say a customer is eligible or not eligible. Put your return rules in the agent's instructions.

An order with no return is a valid answer: the agent hears that no return has been started.

### Who can see which return

On a ticket, the agent only gets returns whose customer email matches an email address on the ticket's contact. If the order number belongs to someone else, the action answers "not found". This stops a customer from reading another customer's return by guessing an order number.

If an order has many returns, cx keeps looking through older ones for the ticket contact's return. If it still cannot tell, the agent is told the answer is not conclusive and should not tell the customer they have no return.

Test runs without a ticket have no customer to compare with, so the email check does not apply there. Use a test return when you try it.

### What the agent never sees

The agent never gets the return label link, any address, the customer's phone number or name, or the customer's notes.

### What the refund status means

PostCo has no single refund status for a whole return. cx works it out from the items, so the agent is told to say money went back **only** when the status is `processed` and the item is a refund.

| Refund status | Meaning |
| - | - |
| `processed` | Every active item has been paid out. |
| `pending` | At least one active item is still being reviewed, received, or paid out. |
| `not_issued` | The return was rejected, or every item was rejected. No refund was issued. |
| `no_refund` | The return has no refund items, for example an exchange. |
| `unknown` | cx cannot tell. |

Items can also be **store credit** or an **exchange**. The agent is told that store credit is credit, not money back.

When the status is `unknown`, the agent should not promise a refund. Tell it to hand the ticket to your team.

## Best practices

* Tell the agent when to look up a return and what to say for each state, such as "label created but not shipped" or "received, refund pending".
* Tell the agent to ask for the order number or email if the customer does not give one.
* Write your return policy into the agent's instructions. PostCo does not provide it.
* Keep an escalation rule for `unknown`, for delivery failures, and for returns that cannot be found.
* Use a test return from your own order for the first check. Do not use a real customer's order.

## Safe test

**1. Pick a known return**

Choose a return you can see in PostCo. Note its order number, status, and tracking number.

**2. Run the agent in a test**

Ask the agent in a test run, for example "Where is my return parcel for order #1001?" Then ask again with only the customer's email.

**3. Compare**

Check that the status, courier, tracking number, items, and refund status match PostCo. Nothing is changed in PostCo.

## Disconnect PostCo

In [integrations](https://armin.cx/app/_/settings/integrations), open the account's **Connected** menu, choose **Disconnect**, and confirm **Delete**. cx removes the stored key. Agents that used the account can no longer look up returns.

To stop access on the PostCo side too, open **Account Settings** → **Manage API Keys** in PostCo, find the key by its last four characters, and click **Revoke**. PostCo stops accepting a revoked key immediately.

## Troubleshooting

### Connection fails with "check your API key"

cx shows **"We couldn't connect to PostCo. Please check your API key."** when PostCo rejects the key. Check that you pasted the full key (it starts with `sk_`) and that it was not revoked in PostCo.

### "We couldn't reach PostCo"

PostCo did not answer. The key may be fine. Wait a moment and try again.

### The agent says it cannot find a return

Check that:

* the order number is the shop order number, for example `1001`
* the return exists in PostCo
* the customer's email on the return matches an email on the ticket's contact
* the agent has the PostCo account selected on the action

### The agent says the result is not conclusive

The order has many returns and none of the ones checked belong to this customer. Look the return up in PostCo by hand, or search by the customer's email instead.

### The shipment is empty

Some returns have no parcel, for example in-store returns. Check the return method in PostCo.

If the connection or an action still fails, contact your Chatarmin CX account team with the error message and the step that failed. Do not include your API key.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.