# IReminderRegistry.RegisterOrUpdateReminder(GrainId, string, TimeSpan, TimeSpan)

[Type overview](/orleans/docs/api/csharp/microsoft.orleans.reminders/orleans.timers.ireminderregistry/) | [Methods](/orleans/docs/api/csharp/microsoft.orleans.reminders/orleans.timers.ireminderregistry/methods/)

```csharp
public abstract Task<IGrainReminder> RegisterOrUpdateReminder(GrainId callingGrainId, string reminderName, TimeSpan dueTime, TimeSpan period)
```

Register or update the reminder with the specified name for the currently active grain.

### Parameters

- `callingGrainId` (`GrainId`): The ID of the the currently executing grain
- `reminderName` (`string`): The reminder name.
- `dueTime` (`TimeSpan`): The amount of time to delay before initially invoking the reminder.
- `period` (`TimeSpan`): The time interval between invocations of the reminder.

### Returns

The reminder.
