Welcome to Temporal!
The recommended way for modeling human tasks is to have an activity that updates an external system that communicates the task to the user. This activity is expected to have a short timeout and an appropriate retry policy to deal with the other system outages.
Use SignalWorkflowExecution feature to notify workflow about human activity completion. Use a timer to take action if human activity is not complete for the specified time interval. No need to use an external queue for this use case.
So for your questions:
- You can have any timeout for an activity. But in your case, you don’t want to use long-running activities, but short activity and a signal.
- Using any additional queues is not recommended as they don’t bring any value besides additional complexity.
- Activities are registered with a worker that hosts them. They don’t need to be registered with a workflow.