---
title: "タスク管理 | Tajo"
description: "Tajo 向けの Brevo CRM で、営業タスク、フォローアップ、活動を作成して管理します"
url: https://tajo.io/jp/docs/sales-crm/tasks/
markdown: https://tajo.io/jp/docs/sales-crm/tasks.md
lang: ja-JP
author: "Set Noa"
author_url: https://tajo.io/jp/set-noa/
robots: noindex
---

先行利用を申し込む

お名前と会社のメールアドレスを入力してください。Tajoへのアクセス申請を確認するためのリンクをメールでお送りします。

# タスク管理

[Set Noa](https://tajo.io/jp/set-noa/)

Brevo CRM の Tasks API を使うと、営業活動、フォローアップ、リマインダーを作成して管理し、Tajo プラットフォーム上でチームの動きを整理できます。

## 概要

タスク管理は、次の場面で欠かせません。

- **営業フォローアップ**: リマインダーと期限を自動で設定します
- **チームの連携**: 活動を特定のメンバーに割り当てます
- **商談の進行**: タスクを商談や企業にひも付けます
- **活動の追跡**: チームの生産性と完了率を把握します
- **顧客エンゲージメント**: ロイヤルティプログラムの案内やフォローの予定を組みます

## クイックスタート

### タスクの作成

```http
POST https://api.brevo.com/v3/crm/tasks
Content-Type: application/json
api-key: YOUR_API_KEY

{
  "name": "Follow up on Enterprise Loyalty proposal",
  "taskType": "call",
  "date": "2026-02-15T10:00:00Z",
  "duration": 1800,
  "notes": "Discuss volume discount tier and loyalty point allocation",
  "assignTo": "sarah.johnson@tajo.io",
  "companiesIds": ["comp_123456789"],
  "dealsIds": ["deal_abc123def456"],
  "contactsIds": [12345],
  "done": false,
  "reminder": {
    "value": 15,
    "unit": "minutes"
  }
}
```

### レスポンス

```json
{
  "id": "task_xyz789",
  "name": "Follow up on Enterprise Loyalty proposal",
  "taskType": "call",
  "date": "2026-02-15T10:00:00Z",
  "done": false,
  "created_at": "2026-01-25T14:30:00Z"
}
```

## タスクの取得

### すべてのタスクを一覧表示する

```http
GET https://api.brevo.com/v3/crm/tasks?limit=50&offset=0&sort=desc
Content-Type: application/json
api-key: YOUR_API_KEY
```

### レスポンス

```json
{
  "items": [
    {
      "id": "task_xyz789",
      "name": "Follow up on Enterprise Loyalty proposal",
      "taskType": "call",
      "date": "2026-02-15T10:00:00Z",
      "duration": 1800,
      "assignTo": "sarah.johnson@tajo.io",
      "done": false,
      "companiesIds": ["comp_123456789"],
      "dealsIds": ["deal_abc123def456"],
      "created_at": "2026-01-25T14:30:00Z"
    }
  ],
  "total": 1
}
```

### タスクを絞り込む

```http
GET https://api.brevo.com/v3/crm/tasks?filters[done]=false&filters[taskType]=call&sort=date:asc
```

### 単一のタスクを取得する

```http
GET https://api.brevo.com/v3/crm/tasks/{task_id}
Content-Type: application/json
api-key: YOUR_API_KEY
```

## タスクの種類

CRM は、営業活動に応じた複数のタスク種別に対応しています。

| 種類 | 説明 | ユースケース |
| --- | --- | --- |
| `call` | 電話 | フォローアップの架電、デモ、状況確認 |
| `email` | メールでのアプローチ | 提案、進捗連絡、ニュースレター |
| `meeting` | 対面またはオンラインの打ち合わせ | デモ、交渉、レビュー |
| `todo` | 一般的なタスク | 社内作業、調査、準備 |
| `deadline` | 期限が決まっているタスク | 契約更新、マイルストーン |

## タスクの自動作成

### 商談に連動したタスクの自動化

商談がステージを進むたびに、タスクを自動で作成します。

```javascript
class TaskAutomation {
  constructor() {
    this.tasksApi = new TasksApi();
  }

  async createDealFollowUp(deal, stageChange) {
    const taskTemplates = {
      'Lead': {
        name: `Qualify lead: ${deal.name}`,
        taskType: 'call',
        daysFromNow: 1,
        duration: 900
      },
      'Qualified': {
        name: `Schedule demo: ${deal.name}`,
        taskType: 'meeting',
        daysFromNow: 3,
        duration: 3600
      },
      'Demo': {
        name: `Send proposal: ${deal.name}`,
        taskType: 'email',
        daysFromNow: 1,
        duration: 1800
      },
      'Proposal': {
        name: `Follow up on proposal: ${deal.name}`,
        taskType: 'call',
        daysFromNow: 5,
        duration: 900
      },
      'Negotiation': {
        name: `Finalize contract: ${deal.name}`,
        taskType: 'deadline',
        daysFromNow: 7,
        duration: 3600
      },
      'Closed Won': {
        name: `Onboard customer: ${deal.name}`,
        taskType: 'meeting',
        daysFromNow: 2,
        duration: 3600
      }
    };

    const template = taskTemplates[stageChange.newStage];
    if (!template) return null;

    const taskDate = new Date();
    taskDate.setDate(taskDate.getDate() + template.daysFromNow);

    return await this.tasksApi.createTask({
      name: template.name,
      taskType: template.taskType,
      date: taskDate.toISOString(),
      duration: template.duration,
      assignTo: deal.attributes.deal_owner,
      dealsIds: [deal.id],
      companiesIds: deal.attributes.company_id ? [deal.attributes.company_id] : [],
      contactsIds: deal.attributes.contact_id ? [deal.attributes.contact_id] : [],
      done: false,
      reminder: { value: 30, unit: 'minutes' }
    });
  }

  async createLoyaltyCheckIn(company) {
    return await this.tasksApi.createTask({
      name: `Loyalty program check-in: ${company.name}`,
      taskType: 'call',
      date: new Date(Date.now() + 30 * 24 * 60 * 60 * 1000).toISOString(),
      duration: 1800,
      assignTo: company.attributes.account_manager,
      companiesIds: [company.id],
      notes: `Review tier status: ${company.attributes.loyalty_tier}\nAnnual spend: $${company.attributes.annual_spend}`,
      done: false,
      reminder: { value: 1, unit: 'days' }
    });
  }
}
```

### タスクの一括操作

```javascript
class BulkTaskManager {
  async createRenewalTasks(daysBeforeExpiry = 90) {
    const renewalDate = new Date();
    renewalDate.setDate(renewalDate.getDate() + daysBeforeExpiry);

    const companies = await this.companiesApi.getCompanies({
      filters: {
        'attributes.renewal_date': `<${renewalDate.toISOString()}`
      }
    });

    const tasks = [];
    for (const company of companies.items) {
      const task = await this.tasksApi.createTask({
        name: `Contract renewal: ${company.name}`,
        taskType: 'deadline',
        date: company.attributes.renewal_date,
        assignTo: company.attributes.account_manager,
        companiesIds: [company.id],
        notes: `Contract value: $${company.attributes.contract_value}\nCurrent tier: ${company.attributes.loyalty_tier}`,
        done: false,
        reminder: { value: 7, unit: 'days' }
      });
      tasks.push(task);
    }

    return tasks;
  }
}
```

## API メソッドリファレンス

```javascript
// Create a new task
const task = await tasksApi.createTask({
  name: 'Follow up call',
  taskType: 'call',
  date: '2026-02-15T10:00:00Z',
  assignTo: 'sales@tajo.io',
  done: false
});

// Get task by ID
const task = await tasksApi.getTask('task_xyz789');

// Update task
await tasksApi.updateTask('task_xyz789', {
  done: true,
  notes: 'Customer agreed to upgrade tier'
});

// Delete task
await tasksApi.deleteTask('task_xyz789');

// List tasks with filtering
const tasks = await tasksApi.getTasks({
  filters: {
    done: false,
    taskType: 'call',
    assignTo: 'sarah@tajo.io'
  },
  sort: 'date:asc',
  limit: 50
});
```

## ベストプラクティス

1. **タスク作成を自動化する**: タスクを商談のステージ変更にひも付け、フォローアップを一定に保ちます
2. **リマインダーを設定する**: 期限が決まっているタスクには必ずリマインダーを設定します
3. **レコードをひも付ける**: タスクを商談、企業、コンタクトに関連付けて文脈を残します
4. **完了状況を追跡する**: タスクの完了率を確認し、チームのパフォーマンスを把握します
5. **タスク種別を使い分ける**: 適切に分類して、活動レポートの精度を高めます

## エラー処理

```javascript
try {
  const task = await tasksApi.createTask(taskData);
  console.log('Task created:', task.id);
} catch (error) {
  if (error.status === 400) {
    console.error('Invalid task data:', error.message);
  } else if (error.status === 404) {
    console.error('Associated deal or contact not found');
  } else {
    console.error('Unexpected error:', error);
  }
}
```

## 次のステップ

- **[企業の管理](https://tajo.io/jp/docs/sales-crm/companies)** - 法人アカウントを管理します
- **[商談の管理](https://tajo.io/jp/docs/sales-crm/deals)** - 営業パイプラインを追跡します
- **[メモ](https://tajo.io/jp/docs/sales-crm/notes)** - 顧客とのやり取りを記録します
- **[ファイル](https://tajo.io/jp/docs/sales-crm/files)** - 商談の添付ファイルを管理します
