> For the complete documentation index, see [llms.txt](https://codex.irrevocable.dev/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://codex.irrevocable.dev/sdk-reference/dispatch/instantiate-dispatch.md).

# Instantiate Dispatch

Initiate the Dispatch instance to invoke the Player Join Quest and Complete Milestone functions. These functions eliminate the need for manual encoding of the correct Quest data for the KinoraOpenAction, and for accurately acting on the Lens publication, although these operations can also be performed outside the SDK if it aligns better with your Lens App architecture.

{% code overflow="wrap" fullWidth="true" %}

```typescript
import { Dispatch } from "kinora-sdk";

const apolloClient = new ApolloClient({
  link: new HttpLink({ uri: 'https://api.lens.xyz/graphql' }),
  headers: {
    "x-access-token": `Bearer ${authToken}`,
  },
  cache: new InMemoryCache(),
});


const newDispatch = new Dispatch({
    playerAuthedApolloClient: client
});
```

{% endcode %}

**Dispatch Props:**

{% code overflow="wrap" fullWidth="true" %}

```typescript
/* Lens authenticated Apollo Client. This can be the same client used for other Lens interactions within your App that the player is Authed for. It is used for enabling the Player to interact with the Quest publication Open Action.*/
playerAuthedApolloClient: ApolloClient<NormalizedCacheObject>;
```

{% endcode %}
