--- title: "Automatic React hooks" description: "These allow you to show Run and Task progress without adding extra code to your Jobs." --- ## The data you can receive - Info about an event you sent, including the Runs it triggered. - The overall status of the Run (in progress, success and fail statuses). - Metadata like start and completed times. - The Run output (what is returned or an error that failed the Job) - Information about the Tasks that have completed/failed/are running. ## The hooks - [useEventDetails](/sdk/react/useeventdetails): get the details of a specific event - [useRunDetails](/sdk/react/userundetails): get the details of a specific Run - [useEventRunDetails](/sdk/react/useeventrundetails): get the details of a Run triggered from a specific event All of these hooks will automatically refresh your components as the state of your Runs or events change. #### useEventDetails The `useEventDetails` hook will get the details of a specific event. You can use this to show the status of a specific event. This component will show the details of an event and the overall status of Runs that were triggered by the event: ```tsx import { useEventDetails } from "@trigger.dev/react"; export default function EventDetails({ eventId }: { eventId: string }) { const { data, error } = useEventDetails(eventId); if (error) { return
Error: {error.message}
; } if (!data) { return
Loading...
; } return (

{data.name}

Runs: {data.runs?.length}

{data.runs?.map((run) => (

Run {run.id}: {run.status}

))}
); } ``` #### useRunDetails The `useRunDetails` hook will get the details of a specific Run. You can use this to show the status of a specific Run. This component will show the details of a Run and the status of each task in the Run: ```tsx import { useRunDetails } from "@trigger.dev/react"; export default function RunDetails({ runId }: { runId: string }) { const { data, error } = useRunDetails(runId); if (error) { return
Error: {error.message}
; } if (!data) { return
Loading...
; } return (

Run {data.id}

Status: {data.status}

{data.tasks?.map((task) => (

Task {task.id}: {task.status}

))}
); } ``` #### useEventRunDetails The `useEventRunDetails` hook will get the details of a specific Run that was triggered by a specific event. You can use this to show the status of a specific Run. This component will show the details of a Run and the status of each task in the Run: ```tsx import { useEventRunDetails } from "@trigger.dev/react"; export default function EventRunDetails({ eventId }: { eventId: string }) { const { data, error } = useEventRunDetails(eventId); if (error) { return
Error: {error.message}
; } if (!data) { return
Loading...
; } return (

Run {data.id}

Status: {data.status}

{data.tasks?.map((task) => (

Task {task.id}: {task.status}

))}
); } ```