Launch Codes Live Recap: April 25th, 2024

On our 3rd episode of Launch Codes Live, Joe (CEO) and Andy (President) dissect the latest developments from Adobe, explore the issues posed by deep fakes, and offer insight into the closed vs. open source LLM’s debate.

Adobe FireFly 3 Announced

A couple days ago (on April 23rd), Adobe debuted the Adobe Firefly Image 3 Foundation Model at MAX London.

This will be the next major release in their collection of creative generative AI tools.

Currently in beta, this new iteration of FireFly 3 enhances Adobe’s already impressive suite, particularly in terms of photo realism capabilities. With tools like this, companies can now create bespoke, copyright-compliant images internally, potentially reducing reliance on external stock photo providers and reshaping the landscape of digital content creation.

Joe and Andy reflect on the rapid advancements of these tools, pointing out that it has only taken a single year to reach the 3rd major iteration of Adobe’s FireFly. 12 months from now, we could be looking at FireFly 5 or even 6. Time will tell.

The Fake James Bond Trailer

Joe and Andy shift the conversation to a fake James Bond trailer that has amassed millions of views and sparked widespread debate about the potential of AI in media creation. While this technology showcases impressive capabilities in generating convincing media, it raises significant ethical questions.

With tools like OpenAI’s Sora and Microsoft VASA-1 on the horizon, believable media will be easier than ever to create and disseminate – posing a major challenge for content verification and public trust in media.

While some aspects of the Bond trailer are clearly manufactured (such as Margot Robbie’s mouth movements being very off when she speaks, as Andy pointed out) the overall execution and presentation of the trailer demonstrates the increasing sophistication of deep fake technology, blurring the lines between reality and fabrication.

Adobe For B2B Marketers

Adobe is making significant strides in the B2B sector with its enhanced marketing tools, notably Adobe Journey Optimizer (AJO) and Customer Data Platform (CDP).

Andy notes that Adobe has been moving more and more into the B2B space for quite some time now, with things only ramping up as the months go by. This past Adobe Summit 2024 in Vegas is a prime example of that, where Adobe announced a new B2B-centric track for their AJO offering.

And while CDP is a relatively new tool in the Adobe collection, it was also announced at Adobe Summit 2024 that CDP will be able to access data warehouses in real-time, rather than going through cycles to bring data in. This ability to access and query data in real-time is definitely something people have been asking for.

Joe and Andy discuss these features in more detail – as well as the idea of unification of marketing tools – at more length in the full episode.

Meta’s Llama 3:
Open vs. Closed Source LLM’s

With Meta’s recent release of Llama 3, the conversation surrounding open vs. closed source LLM’s continues to heat up.

Joe introduces the topic by acknowledging the appeal of open-source models due to their ability to be advanced and augmented through community efforts. But on the other hand, he also recognizes the concerns about the security and ethical implications of open-source LLMs: “What’s the balance between this idea of progression and openness, and this idea of ‘closed’ maybe being a little bit safer?”

Andy builds on Joe’s points by recalling a book called “The Master Switch” by Tim Wu which discusses the historical patterns seen in the development of technologies like radio and television. Those began as open but eventually became regulated and more closed – will LLM’s follow the same trajectory across the board?

This conversation goes into much greater detail and nuance in the full episode below!

Watch the full episode.

If you missed this episode Launch Codes Live, and want to dive into these topics at a deeper level, you can watch the full recording on LinkedIn here.

Be on the lookout for the next event on LinkedIn in May!

How to Automate Marketo Form Documentation

After over a decade of navigating the fast-paced world of MOPs, I’ve learned the hard way that documentation, especially for Marketo forms, often takes a backseat amidst more pressing priorities.

But the reality is, documenting forms in Marketo is absolutely essential when it comes to audits, inventory management, and ensuring compliance with internal and external regulations.

However, manually documenting each form’s fields, validation rules, and configurations can be incredibly time-consuming and prone to errors.

That is exactly what this guide aims to address.

We’ll walk you through a streamlined, automated approach to documenting Marketo forms using API and Python so you can save time and reduce errors – freeing you up to focus on driving impactful marketing strategies.
 

Who is this guide for?

If you’re already familiar with using the Marketo API, you’ll find this guide immensely helpful.

We’ll provide you with a Python script that automates the extraction and documentation of form fields directly from Marketo, saving you hours of manual work.
 

Not familiar with the Marketo API?

For those who aren’t as comfortable with the Marketo API or scripting in Python, don’t worry—we’re here to help. Our team can assist you with your project, ensuring your forms are documented correctly and efficiently. You can book a free 30-minute chat with an expert here to get started.

Alternatively, if you’re keen on learning how to do this yourself, we highly recommend signing up for the API Crash Course course offered by Tyron Pretorious on The Workflow Pro blog. This course will equip you with the knowledge and skills to leverage the Marketo API for various automation and integration tasks.
 

Our Step-By-Step Guide

The script we provide leverages the Marketo API to fetch form fields and then formats this data into a neatly organized Excel file, with each form’s fields documented in a separate tab.

Prerequisites:

  • Marketo API access with client_id and client_secret.
  • Python installed on your system.
  • marketorestpython and pandas Python packages installed. You can install these via pip:
pip install marketorestpython pandas openpyxl

 

The Script (Python):

from marketorestpython.client import MarketoClient
import pandas as pd

# Marketo Credentials
munchkin_id = ""  # fill in Munchkin ID
client_id = ""  # enter Client ID
client_secret = ""  # enter Client Secret
api_limit = None
max_retry_time = None
requests_timeout = (3.0, 10.0)

# Initialize Marketo Client
mc = MarketoClient(munchkin_id, client_id, client_secret, api_limit, max_retry_time, requests_timeout=requests_timeout)

# List of form IDs to process
form_ids = [1000, 1001, 1002]  # Add form IDs here as integers

# Initialize Excel writer
excel_filename = 'marketo_form_fields.xlsx'
writer = pd.ExcelWriter(excel_filename, engine='openpyxl')

for form_id in form_ids:
    # Retrieve fields for the current form
    fields = mc.execute(method='get_form_fields', id=form_id, status=None)

    # Create a DataFrame from the fields
    if fields:
        data = []
        for field in fields:
            if 'fieldMetaData' in field and 'values' in field['fieldMetaData']:
                picklist_options = "; ".join([f"{opt['label']} ({opt['value']})" for opt in field['fieldMetaData']['values']])
            else:
                picklist_options = ''
            
            data.append({
                'ID': field.get('id', ''),
                'Label': field.get('label', ''),
                'Data Type': field.get('dataType', ''),
                'Validation Message': field.get('validationMessage', ''),
                'Required': field.get('required', False),
                'Form Prefill': field.get('formPrefill', False),
                'Visibility Rules': field.get('visibilityRules', {}).get('ruleType', ''),
                'Hint Text': field.get('hintText', ''),
                'Max Length': field.get('maxLength', ''),
                'Picklist Options': picklist_options,
            })
        
        df = pd.DataFrame(data)

        # Use form ID as sheet name for now
        sheet_name = str(form_id)
        df.to_excel(writer, index=False, sheet_name=sheet_name[:31])  # Excel sheet name has a max of 31 characters

# Save the Excel workbook
writer.save()
print(f"Excel file '{excel_filename}' has been created successfully.")

 
How to Use the Script:

1) Fill in Your Credentials: Replace the placeholder values for munchkin_id, client_id, and client_secret with your actual Marketo API credentials.

# Marketo Credentials
munchkin_id = ""  # fill in Munchkin ID
client_id = ""  # enter Client ID
client_secret = ""  # enter Client Secret

 

2) Specify Form IDs: In the form_ids list, replace the example IDs with the IDs of the forms you want to document.

# List of form IDs to process
form_ids = [1000, 1001, 1002]  # Add form IDs here as integers

 

3) Run the Script: Execute the script in your Python environment. The script will communicate with the Marketo API, retrieve the specified forms’ fields, and output the information into an Excel file named marketo_form_fields.xlsx. Here’s what that file should look like:

4) Review Your Documentation: Open the generated Excel file to review your forms’ documentation. Each tab within the workbook corresponds to a different form, named using the form’s ID.

pink line

By automating the documentation of Marketo forms, you can significantly reduce the time and effort required for audits and inventories. This not only improves accuracy but also allows you to allocate your valuable time to more strategic tasks.

If you encounter any challenges or have questions about customizing the script for your specific needs, don’t hesitate to reach out for professional assistance. As mentioned earlier, you can book a free consultation with one of our experts here.