How to change the Activity name to be different from the Activity function name?

Hi,

I’m new to temporal. Please let me know if this is not the right place to ask this question.

I’m building workflows in which I have a bunch of activities that all have the same implementation but their behavior and semantics are derived from the activity input.

For the sake of example, lets say the activity is SendEmail and the input is the recipient and their role.

func (a *ActivityObj) SendEmail(ctx context.Context, param SendEmailParams) (*SendEmailResult, error) {
  // usage: SendEmail(ctx, SendEmailParams{Dest: "neo@matrix.com", Role: "Admin"})
}

Is there a way to customize the activity name so that if I have a workflow that is sending 10 emails, I don’t just see SendEmail 10 times in the temporal UI? and I can customize it to SendEmailToSupport, SendEmailToAdmin, SendEmailToEmployees, etc?

You can register it multiple times using activity.RegisterOptions. Then you’ll have to use these names as strings when invoking the activity.