---
title: "Customers"
description: "Add customers, segment them, and record their activity."
url: "https://docs.goomzo.africa/docs/developers/ts-sdk/customers"
docs_index: /llms.txt
lastUpdated: 2026-11-12
section: "Guides"
related:
  - /docs/developers/ts-sdk/messages
  - /docs/developers/ts-sdk/templates
  - /docs/developers/ts-sdk/webhooks
---

> For an index of all documentation, see [/llms.txt](https://docs.goomzo.africa/llms.txt). Any page is also available as Markdown by adding .md to its URL.

# Customers

> Add customers, segment them, and record their activity.

`goomzo.customers`, `goomzo.segments` and `goomzo.activity` keep Goomzo in step with your own system. See
[Customers](https://docs.goomzo.africa/docs/developers/customers?utm_source=llms&utm_medium=ai).

## Add or update customers

```ts
const { items } = await goomzo.customers.create({
  ifExists: 'update',
  customers: [
    {
      name: 'Amina Juma',
      phone: '+255712345678',
      attributes: { plan: 'gold' },
      segments: [{ name: 'Shoppers' }],
      activities: [{ key: 'purchased', value: 'Shoes' }],
    },
  ],
})

items[0].result // "created", "updated" or "unchanged"
```

## Record customer activity

```ts
await goomzo.activity.record({
  phone: '+255712345678',
  activities: [
    { key: 'purchased', value: 'Shoes' },
    { key: 'spent', value: 45000 },
  ],
})
```

## Segments

```ts
for await (const customer of goomzo.segments.customers.list('seg_4hq2v9n1c8x0t6pk')) {
  console.log(customer.name)
}

await goomzo.segments.customers.add('seg_4hq2v9n1c8x0t6pk', ['cus_4hq2v9n1c8x0t6pk'])
```

## Other methods

| Method                               | Does                                 |
| ------------------------------------ | ------------------------------------ |
| `customers.list(query)`              | Lists customers, a page at a time.   |
| `customers.get(id)`                  | Gets one.                            |
| `customers.update(id, body)`         | Changes one.                         |
| `customers.delete(id)`               | Deletes one.                         |
| `customers.segments.set(id, names)`  | Sets the segments a customer is in.  |
| `customers.activity.list(id)`        | Lists a customer's activity.           |
| `segments.create(body)`              | Adds a segment, by hand or by rules. |
| `segments.customers.remove(id, ids)` | Takes customers out of a segment.    |

## Next steps

- [Lists](https://docs.goomzo.africa/docs/developers/ts-sdk/lists?utm_source=llms&utm_medium=ai)
- [Send messages](https://docs.goomzo.africa/docs/developers/ts-sdk/messages?utm_source=llms&utm_medium=ai)

---

For an index of all available documentation, see [/llms.txt](https://docs.goomzo.africa/llms.txt)
