You are correct, for api key you will use one from your profile. I would create a sensitive variable within the project then use the variable in that spot instead of copy pasting the api key to that field.
The project name would be Project for App1 for step 1, project for app 2 for step 2, whatever the names of the projects that house the 2 apps you want to deploy are called in your octopus instance.
For channel, you would just input the name of your channel in the projects you want to deploy a release from. You can leave it blank for default channel.
You will just type the names of the objects not the IDs. You could also store the names within variables in the project then call those variables in the parameter fields.
Please let me know if that works or if you need any more help with the fields.
Edit: it looks like you’ve just added chain deployment to the end of project 1, which is probably the easier way to do it. So you would just need to do the above for project 2 within that chain deployment step.
You could also create some output variables within your project 1 then use those to determine environment/channel for project 2 if you can make the logic automated. https://octopus.com/docs/projects/variables/output-variables#:~:text=Output%20variables%20can%20be%20set,scripting%20languages%20supported%20by%20Octopus.
You may also be able to scope variables to help with automation of those parameters as well. For example project 1 could have a scoped variable for environment development which tells the chain template step which environment to use for the second project based on the first project going to development.
Let me know if that makes sense.