diff --git a/public/images/automation/v2-migration/1-bulk-migration-ui.png b/public/images/automation/v2-migration/1-bulk-migration-ui.png
new file mode 100644
index 00000000000..41f638a5bcb
Binary files /dev/null and b/public/images/automation/v2-migration/1-bulk-migration-ui.png differ
diff --git a/public/images/automation/v2-migration/forwarder-address.png b/public/images/automation/v2-migration/forwarder-address.png
new file mode 100644
index 00000000000..faec5af9a71
Binary files /dev/null and b/public/images/automation/v2-migration/forwarder-address.png differ
diff --git a/src/content/chainlink-automation/guides/migrate-to-v2.mdx b/src/content/chainlink-automation/guides/migrate-to-v2.mdx
index f5b7cfd3500..b9d010a8bd7 100644
--- a/src/content/chainlink-automation/guides/migrate-to-v2.mdx
+++ b/src/content/chainlink-automation/guides/migrate-to-v2.mdx
@@ -23,8 +23,6 @@ If your upkeep is restricted to a single address calling it, you must give permi
The Chainlink Automation App offers a streamlined migration process for upkeeps using registry versions 1.2 and later. To migrate upkeeps with older versions, follow the [manual migration process](#migrating-older-upkeeps-manually) instead.
-You can use the Chainlink Automation App to migrate one upkeep at a time, or [migrate multiple upkeeps using the block scanner](#migrating-upkeeps-using-block-scanner).
-
1. Navigate to the Chainlink Automation App, select the supported blockchain you're using, and connect your wallet.
@@ -35,25 +33,29 @@ You can use the Chainlink Automation App to migrate one upkeep at a time, or [mi
-1. Select your upkeep. In the **Details** page, expand the **Actions** menu and select **Migrate upkeep**.
+1. To start migrating a specific upkeep, select the upkeep. In the **Details** page, expand the **Actions** menu and select **Migrate upkeep**.
-1. Confirm the transaction in your wallet.
+ If you have multiple upkeeps to migrate, start the migration using the link in your upkeeps dashboard. This link displays only if you have one or more upkeeps to migrate:
+
+
+
+1. Follow the prompts to approve and confirm the transactions in your wallet to migrate your upkeeps.
-Upkeeps that are successfully migrated will show the following [transaction logs](https://testnet.bscscan.com/tx/0x85b3a147518719d3c9b1dd6b80e5f39d53d18c177ebc10d1bfb8890eaab8900a#eventlog):
+ Upkeeps that are successfully migrated will show the following [transaction logs](https://testnet.bscscan.com/tx/0x85b3a147518719d3c9b1dd6b80e5f39d53d18c177ebc10d1bfb8890eaab8900a#eventlog):
-
+
-When the migration is complete:
+1. If your upkeep restricts `msg.sender` to the previous registry address, [update your contract](#update-permissions) to use the new forwarder address.
-- Your balance is transferred to the new registry automatically.
-- The new upkeep details page shows the updated registry address and a forwarder address. The forwarder address is a new [unique forwarder](#unique-forwarder) to increase security for your upkeep. This address will be the unique `msg.sender` for your upkeep. If your upkeep is restricted to a single address calling it, you must give permission to the forwarder address. Otherwise, Automation will no longer be able to execute your function.
-- Read the [migration checklist](#migration-checklist) to understand further updates you may need to make in your contracts.
+After the migration is complete:
-
+- Your balance is transferred to the new registry automatically.
+- The new forwarder address becomes available.
+- Read the [migration checklist](#migration-checklist) to understand further updates you might need to make in your contracts.
## Migrating upkeeps using block scanner
@@ -65,10 +67,18 @@ To migrate one or more upkeeps using the scanner:
Enter a list of upkeep IDs. For example: `[99297446083125056953495436926707926113001699970195513612134585638496630959874,63026166139768298778579034679995711427803187091626268721992534052921779884688]`.
-1. Enter the destination registry address, which is the latest registry address on this chain. You can find this address in the [Supported Networks](/chainlink-automation/overview/supported-networks) page, or at the top of the Chainlink Automation App with the desired chain selected.
+1. Enter the destination registry address, which is the latest registry address on this chain. You can find this address on the [Supported Networks](/chainlink-automation/overview/supported-networks) page, or at the top of the Chainlink Automation App with the desired chain selected.
1. Execute the `migrateUpkeeps` function and confirm the transaction. When this transaction is confirmed, your upkeeps will be migrated to the latest registry, and each upkeep will have a [unique forwarder](#unique-forwarder) address.
+1. If your upkeep restricts `msg.sender` to the previous registry address, [update your contract](#update-permissions) to use the new forwarder address.
+
+After the migration is complete:
+
+- Your balance is transferred to the new registry automatically.
+- The new forwarder address becomes available.
+- Read the [migration checklist](#migration-checklist) to understand further updates you might need to make in your contracts.
+
## Migrating older upkeeps manually
For upkeeps on registry versions 1.0 and 1.1, you must migrate upkeeps manually:
@@ -83,8 +93,25 @@ For upkeeps on registry versions 1.0 and 1.1, you must migrate upkeeps manually:
1. Expand the **Actions** menu and select **Cancel upkeep**.
1. Approve the transaction in your wallet. When this transaction is confirmed, you must wait 50 blocks before you can withdraw funds.
1. Return to the main [Chainlink Automation App](https://automation.chain.link/) landing page. Register a new upkeep, providing the **Upkeep address** of your old upkeep.
+1. If your upkeep restricts `msg.sender` to the previous registry address, [update your contract](#update-permissions) to use the new forwarder address.
+
+After migration, you have a new upkeep on Automation 2.0 with the same interface as your old upkeep. Future migrations are eligible for the simpler migration process.
+
+After the migration is complete:
+
+- Your balance is transferred to the new registry automatically.
+- The new forwarder address becomes available.
+- Read the [migration checklist](#migration-checklist) to understand further updates you might need to make in your contracts.
+
+## Update permissions
+
+Your new upkeep has a new [unique forwarder](#unique-forwarder) to increase security for your upkeep. This address will be the unique `msg.sender` for your upkeep. If your upkeep restricts `msg.sender` to the previous registry address, you must give permission to the forwarder address. Otherwise, Automation will no longer be able to execute your function.
+
+1. The forwarder address becomes available after migrating your upkeep. You can find this in the Chainlink Automation App, within the upkeep's **Details** section:
+
+
-After migration, you have a new upkeep on Automation 2.0 with the same interface as your old upkeep. Future migrations are eligible for the simpler migration process. Read the [migration checklist](#migration-checklist) to understand further updates you may need to make in your contracts.
+1. Update your contract to use the forwarder address by following the instructions on the [Forwarder](/chainlink-automation/guides/forwarder) page.
## Migration checklist
diff --git a/src/content/chainlink-automation/overview/getting-started.mdx b/src/content/chainlink-automation/overview/getting-started.mdx
index bdf26262e74..3e20b5dae13 100644
--- a/src/content/chainlink-automation/overview/getting-started.mdx
+++ b/src/content/chainlink-automation/overview/getting-started.mdx
@@ -65,7 +65,7 @@ Click the tabs below to use Chainlink Automation with each type of trigger:
1. Navigate to the [Chainlink Automation app](https://automation.chain.link/) and connect to **Arbitrum Sepolia** in the top dropdown menu.
- 1. Connect your cryptocurrency wallet to the app if you haven't done so already. You may also need to fetch Arbitrum Sepolia testnet LINK [here](https://automation.chain.link/arbitrum-sepolia).
+ 1. Connect your cryptocurrency wallet to the app if you haven't done so already. You might also need to fetch LINK for the Arbitrum Sepolia testnet from [faucets.chain.link](https://faucets.chain.link/arbitrum-sepolia).
1. Click **Register new Upkeep** and select **Custom logic** trigger.
@@ -92,9 +92,9 @@ Click the tabs below to use Chainlink Automation with each type of trigger:
1. Navigate to the [Chainlink Automation app](https://automation.chain.link/) and connect to **Arbitrum Sepolia** in the top dropdown menu.
- 1. Connect your cryptocurrency wallet to the app if you haven't done so already. You may also need to fetch Arbitrum Sepolia testnet LINK [here](https://automation.chain.link/arbitrum-sepolia).
+ 1. Connect your cryptocurrency wallet to the app if you haven't done so already. You might also need to fetch LINK for the Arbitrum Sepolia testnet from [faucets.chain.link](https://faucets.chain.link/arbitrum-sepolia).
- 1. Click **Register new Upkeep** and select **log trigger**.
+ 1. Click **Register new Upkeep** and select **Log trigger**.
1. Under _Contract to automate_, enter
. This is a simple `iLogAutomation`-compatible example contract that increments a counter when a log is detected. View the source code [here](https://sepolia.arbiscan.io/address/0xe817e4A71C69C72C01B31906F9F8591FbaB6b448#code). Click **Next**.