The main idea of this is to create an item from workflow in another list which is located on different site collection. So I thought is it possible to create an item in list with REST API through the workflow?
Item can be created by calling REST service API from SharePoint Workflow. SharePoint Workflow provides various actions like call, build, etc.
Build action is used to call your REST service API.
Call action calls the REST service and execute the action that you have given into REST API.
Please look at this Rest call using SharePoint workflow for reference
We're looking for long answers that provide some explanation and context. Don't just give a one-line answer; explain why your answer is right, ideally with citations. Answers that don't include explanations may be removed.
The steps below are auto-generated from a tool I created that you can add to your SharePoint site. You can test your REST API calls there, and then display the steps for AJAX or SharePoint Workflows. http://techtrainingnotes.blogspot.com/2017/04/a-sharepoint-rest-api-tester-with-ajax.html
Steps to add a new item to an Announcements list:
Add Build Dictionary Action for the header values.
Add a Build Dictionary action.
Click "Add", enter data and click OK for each of the following.
Click "Create a new variable".
Add a second Dictionary with these values and save to a variable named dataType.
Add a third Dictionary with these values and save to a variable named requestContent.
Value: Variable: dataType (from the fx button)
Value: Test announcement
Add Call HTTP Web Service Action.
Add a Call HTTP Web Service action.
Enter URL with the query string or...
Click "Add or Change Lookup".
From "Data Source" select "Workflow Context".
From "Field from source" select "Current Site URL". Click OK.
Add the following: (with the correct site path!)
Set the HTTP method to: HTTP POST.
Click the dropdown and click Properties.
Click "RequestHeaders" and select "requestHeaders" from the dropdown.
Click "RequestContent" and select "requestContent" from the dropdown.
Click "ResponseContent" and select "Create New Variable" from the dropdown, enter "responseData" and click OK.
Add a Get an Item from a Dictionary Action so you can display some results.
Add a Get an Item from a Dictionary action.
Click "item by name or path". (You will need to know the data that's being returned to complete this.) Example: Id
Click "dictionary" and select "responseData".
Click "item" and enter a variable name for your retrieved data.
Do something with your retrieved data! Log it, add to a list or send as part of an email!