***
id: bd793b73-9e0c-4779-930b-9c1614ad3f84
title: Task
sidebar-title: Overview
position: 0
keywords: 'SignalWire, Realtime SDK, Node.js, task API, background jobs'
slug: /node/reference/task
description: >-
Access the Task API for inter-application communication. Send and receive
tasks between different applications using topics for routing.
max-toc-depth: 3
----------------
[task-client-1]: /docs/server-sdk/v4/node/reference/task/client
[task-client]: /docs/server-sdk/v4/node/reference/task/client#events
Access the Task API. You can instantiate a [Task.Client][task-client-1] to receive tasks from a different application.
Refer to [Task Events][task-client] for the full list of events that a [Task.Client][task-client-1] can subscribe to.
#### **Example**
The following example listens for incoming tasks on the `office` topic and logs the payload to the console.
```js
import { SignalWire } from "@signalwire/realtime-api";
const client = await SignalWire({ project: "ProjectID Here", token: "Token Here"})
const taskClient = client.task
await taskClient.listen({
topics: ['office'],
onTaskReceived: (payload) => {
console.log('Received task', payload)
}
});
```
## **Classes**
The main Task client for sending and receiving tasks between applications using topic-based routing.