# sRFC 32: Optional Transactions in Action Chaining

**URL:** <https://forum.solana.com/t/srfc-32-optional-transactions-in-action-chaining/1971>\
**Category:** sRFC\
**Created:** [August 12, 2024, 5:12pm UTC](https://forum.solana.com/t/srfc-32-optional-transactions-in-action-chaining/1971 "2024-08-12T17:12:23Z")\
**Posts on this page:** 1\
**Showing post:** 12

<div class="post-metadata">

**Author:** ![tsmbl](https://yyz2.discourse-cdn.com/flex030/user_avatar/forum.solana.com/tsmbl/32/502_2.png) [@tsmbl](https://forum.solana.com/u/tsmbl)\
**Post date:** [August 28, 2024, 4:23pm UTC](https://forum.solana.com/t/srfc-32-optional-transactions-in-action-chaining/1971/12 "2024-08-28T16:23:42Z")

</div>

> [@nickfrosty](#):
>
> I do not think LinkedActions should have a `type` at all with any of the current sRFCs or any specific features I foresee in the future.
> 
> what special consideration do you see for “external linking” as an action?  
> my thought was:
> 
> - if type == “external-link” =\> nothing for the user to sign, no post request, just display a button/link to open the provided `href` as a full link in a new tab (likely requiring this be an absolute url and displaying the domain to the user below the button/link)

My consideration was based on the `External Linking` proposal and previous experience with other tools, that clearly indicate the action type on button in certain cases. I was assuming that `External Linking` is proposed to be implemented by adding `type` to `LinkedAction`, allowing to process external link without making extra POST call. I also didn’t notice that you’re hesitant about the `External Linking` proposal.

> [@nickfrosty](#):
>
> I only think it is needed in the POST response. I don’t think a type on LinkedActions really matters, at least right now. Right now, no matter what, the linked action will always make a POST request to the `href`.

I fully agree that having `type` only in POST response is sufficient to deterministically cover the general flow. That said, it looks healthy thing to have `type` in `LinkedAction` in scope of `External Linking` for the reasons below

1. Implementing extra POST endpoint & making extra network call to implement external link feels a bit redundant to me
2. Visually displaying external link on button can slightly improve the UX

Please reflect your thoughts in [Blinks CTA: External Linking](https://forum.solana.com/t/blinks-cta-external-linking/2018), we should probably discuss it there, lol.

> [@nickfrosty](#):
>
> I generally thing “external links” should NOT be allowed in the initial GET metadata, ONLY in follow on chained actions. If external links were supported, then people might simply put a external link and no other action. This feels like an anti-pattern for what actions are.
> 
> I feel fairly strongly that external linking should be considered a terminal action, like the current `completed` state.

Mostly agree, however there still might be cases when “external links” useful in any GET metadata, including the initial one. For instance developers might need to have external link to the text document that doesn’t fit the blink description, e.g. governance proposal text or ToS. So, imo what you are describing sounds like a common sense and best practice to me, but it should not be a strong constraint in specification.

---

_[View the full topic](https://forum.solana.com/t/srfc-32-optional-transactions-in-action-chaining/1971)._
