# Function: experimental_nextAppDirCaller()

> 

> **experimental\_nextAppDirCaller**\<`TContext`, `TMeta`\>(`config`): `CallerOverride`\<`TContext`\>

Defined in: [packages/server/src/adapters/next-app-dir/nextAppDirCaller.ts:25](https://github.com/trpc/trpc/blob/7c907acfd8b31929214792e3b8c2ad7a8ac72563/packages/server/src/adapters/next-app-dir/nextAppDirCaller.ts#L25)

Makes procedures callable as Next.js server actions and from React
Server Components. Pass it to `.experimental_caller()`.

## Type Parameters

| Type Parameter |
| ------ |
| `TContext` |
| `TMeta` |

## Parameters

| Parameter | Type |
| ------ | ------ |
| `config` | `Simplify`\<`object` & [`CreateContextCallback`](https://trpc.io/docs/typedoc/server/index/type-aliases/CreateContextCallback.md)\<`TContext`, () => `MaybePromise`\<`TContext`\>\>\> |

## Returns

`CallerOverride`\<`TContext`\>

## See

https://trpc.io/docs/client/nextjs/server-actions#1-define-a-base-procedure-with-experimental_caller
