actualNoteContentPart: ### app.context.updateEmbedArgs
  When invoked from an embed context (e.g. in an onEmbedCall or renderEmbed action function), can be used to update the arguments passed to renderEmbed - note that this does not trigger a new call to renderEmbed - that can be done by calling [app.context.renderEmbed](/help/developing_amplenote_plugins/app_interface#app.context.renderEmbed)  immediately after calling updateEmbedArgs. In public notes, updates to embed arguments will not be persisted, only applying until the page is refreshed.
  ```
  {  async onEmbedCall(app, value) {    await app.context.updateEmbedArgs((value || 0) + 1);    // At this point, a call to app.context.renderEmbed() is necessary to re-render the embed  },   renderEmbed(app, value) {    return `      <a href="https://www.amplenote.com">onEmbedCall link (${ value })</a>      <script type="text/javascript">        document.querySelector("a").addEventListener("click", function(event) {          event.preventDefault();          window.callAmplenotePlugin(${ value }); // Calls `onEmbedCall` function above        });      </script>    `;  }, }
  ```
  
  ### app.context.updateImage
  If the plugin action was invoked on an image (i.e. imageOption actions), can be called to update [image](/help/developing_amplenote_plugins/appendix_i#image)  properties.
  ```
  {  async imageOption(app, image) {    await app.context.updateImage({ caption: "and " + image.caption.toString() });  }} 
  ```
  
  ### app.context.updateLink
  If the plugin action was invoked in a link, can be called to update [link](/help/developing_amplenote_plugins/appendix_i#link)  properties.
  ```
  {  async replaceText(app) {    if (app.context.updateLink) {      const newDescription = (app.context.link.description || "") + "\nmore";      app.context.updateLink({ description: newDescription });    }     return null;  }} 
  ```
  
  ### app.context.url
  A URL representing the current location in the app. Can be passed to [app.navigate](/help/developing_amplenote_plugins/app_interface#app.navigate)  to return to the same location. 
  
  ## app.createNote
  Create a new note, optionally specifying a name and/or tags to apply.
  Arguments
  	name - optional String name to give the new note
  	tags - optional Array of String tag names to apply to the new note
  Returns
  	uuid of the newly created note. This is typically a local-prefixed UUID that may change once persisted to the remote servers, but can continue to be used on the same client to identify the note. Calling [app.findNote](/help/developing_amplenote_plugins/app_interface#app.findNote)  with this uuid will return a [noteHandle](/help/developing_amplenote_plugins/appendix_i#noteHandle)  with a non-local-prefixed UUID if the note has since completed persistence.
  ```
  {  async noteOption(app, noteUUID) {    const uuid = await app.createNote("some new note", [ "some-tag" ]);    app.alert(uuid);  }}
  ```
  
  ## app.deleteNote
  Delete a note. Users can restore deleted notes for 30 days after they are first deleted.
  Arguments
  	[noteHandle](/help/developing_amplenote_plugins/appendix_i#noteHandle)  describing the note to delete
  Returns
  	Boolean indicating whether the note described by the [noteHandle](/help/developing_amplenote_plugins/appendix_i#noteHandle)  exists such that it can be deleted.
  ```
  {  async noteOption(app, noteUUID) {    await app.deleteNote({ uuid: noteUUID });  }}
  ```
processedNoteContent: ---
  title: App Interface: Plugin methods to interact with ...
  headers: ### app.context.updateEmbedArgs
  ---
  app.context.updateEmbedArgs
  When invoked from an embed context (e.g. in an onEmbedCall or renderEmbed action function), can be used to update the arguments passed to renderEmbed - note that this does not trigger a new call to renderEmbed - that can be done by calling [app.context.renderEmbed](/help/developing_amplenote_plugins/app_interface#app.context.renderEmbed)
    immediately after calling updateEmbedArgs. In public notes, updates to embed arguments will not be persisted, only applying until the page is refreshed. {  async onEmbedCall(app, value) {    await app.context.updateEmbedArgs((value || 0) + 1);    // At this point, a call to app.context.renderEmbed() is necessary to re-render the embed  },   renderEmbed(app, value) {    return `      <a href="https://www.amplenote.com">onEmbedCall link (${ value })</a>      <script type="text/javascript">        document.querySelector("a").addEventListener("click", function(event) {          event.preventDefault();          window.callAmplenotePlugin(${ value }); // Calls `onEmbedCall` function above        });      </script>    `;  }, }
  
  app.context.updateImage
  If the plugin action was invoked on an image (i.e. imageOption actions), can be called to update [image](/help/developing_amplenote_plugins/appendix_i#image)
    properties. {  async imageOption(app, image) {    await app.context.updateImage({ caption: "and " + image.caption.toString() });  }} 
  
  app.context.updateLink
  If the plugin action was invoked in a link, can be called to update [link](/help/developing_amplenote_plugins/appendix_i#link)
    properties. {  async replaceText(app) {    if (app.context.updateLink) {      const newDescription = (app.context.link.description || "") + "\nmore";      app.context.updateLink({ description: newDescription });    }     return null;  }} 
  
  app.context.url
  A URL representing the current location in the app. Can be passed to [app.navigate](/help/developing_amplenote_plugins/app_interface#app.navigate)
    to return to the same location. 
  app.createNote
  Create a new note, optionally specifying a name and/or tags to apply.
  Arguments
  name - optional String name to give the new note
  tags - optional Array of String tag names to apply to the new note
  Returns
  uuid of the newly created note. This is typically a local-prefixed UUID that may change once persisted to the remote servers, but can continue to be used on the same client to identify the note. Calling [app.findNote](/help/developing_amplenote_plugins/app_interface#app.findNote)
    with this uuid will return a [noteHandle](/help/developing_amplenote_plugins/appendix_i#noteHandle)
    with a non-local-prefixed UUID if the note has since completed persistence. {  async noteOption(app, noteUUID) {    const uuid = await app.createNote("some new note", [ "some-tag" ]);    app.alert(uuid);  }}
  
  app.deleteNote
  Delete a note. Users can restore deleted notes for 30 days after they are first deleted.
  Arguments
  [noteHandle](/help/developing_amplenote_plugins/appendix_i#noteHandle)
    describing the note to delete
  Returns
  Boolean indicating whether the note described by the [noteHandle](/help/developing_amplenote_plugins/appendix_i#noteHandle)
    exists such that it can be deleted. {  async noteOption(app, noteUUID) {    await app.deleteNote({ uuid: noteUUID });  }}
noteTitle: App Interface: Plugin methods to interact with user notes