---
title: "TriggerClient: Overview"
sidebarTitle: "Overview"
description: "TriggerClient is used to create a client that connects to the Trigger.dev platform"
---
A [TriggerClient](/documentation/concepts/client-adaptors) is used to connect to a specific [Project](/documentation/concepts/projects) by using an [API Key](/documentation/concepts/environments-apikeys).
```ts Example
export const client = new TriggerClient({
id: "my-webapp",
apiKey: process.env.TRIGGER_API_KEY!,
});
```
The `TriggerClient` should only ever be used in a server-side environment. It is not safe to use
in a browser environment because it exposes your API Key.
## Constructor
### [TriggerClient()](/sdk/triggerclient/constructor)
Creates a new TriggerClient object.
## Instance properties
Is used to uniquely identify the client.
## Instance methods
#### [sendEvent()](/sdk/triggerclient/instancemethods/sendevent)
Sending an event triggers any Jobs that are listening for that event (based on the name). Use [eventTrigger()](/sdk/eventtrigger) on a Job to listen for events.
You can call this function from anywhere in your code to send an event. The other way to send an event is by using [io.sendEvent()](/sdk/io) from inside a `run()` function.
#### [getEvent()](/sdk/triggerclient/instancemethods/getevent)
The `getEvent()` method gets the event details for a given eventId.
#### [cancelEvent()](/sdk/triggerclient/instancemethods/cancel-event)
The `cancelEvent()` method cancels an event that is scheduled to be delivered in the future.
#### [getRuns()](/sdk/triggerclient/instancemethods/getruns)
The `getRuns()` method gets runs for a Job.
#### [getRun()](/sdk/triggerclient/instancemethods/getrun)
The `getRun()` method gets the details for a given Run.
#### [defineJob()](/sdk/triggerclient/instancemethods/define-job)
The `defineJob()` method defines a new Job.
#### [defineDynamicTrigger()](/sdk/triggerclient/instancemethods/define-dynamic-trigger)
The `defineDynamicTrigger()` method defines a new Dynamic Trigger.
#### [defineDynamicSchedule()](/sdk/triggerclient/instancemethods/define-dynamic-schedule)
The `defineDynamicSchedule()` method defines a new Dynamic Schedule.
#### [defineAuthResolver()](/sdk/triggerclient/instancemethods/define-auth-resolver)
The `defineAuthResolver()` method defines a new Auth Resolver.