v3.1 Autobound API Documentation

Write hyper-personalized sales content in seconds.

What's new from 2.1: additional insights and content types

  • New: Financial reports, podcasts, youtube, case studies, competitor news insights ✨
  • New: More intuitive contentType fields --> NOTE that this includes breaking changes from 2.1. COLD_OUTBOUND_EMAIL is now email, etc.
  • New: Writing Style, Sales Assets, Language, Word Count

Introduction

Welcome to the Autobound API documentation! Autobound is at the forefront of revolutionizing B2B sales and martech operations by harnessing the power of generative AI. Unlike more generalized AI solutions such as OpenAI's GPT-3 and GPT-4 or Anthropic, Autobound is finely tuned for writing high quality sales emails purpose. Our API empowers sales and marketing teams to embed a powerful AI writer within their products or platforms, making it an invaluable resource for their end clients.

Discover The Power of Insights

The core value of Autobound’s API lies in the rich insights it provides, meticulously curated from a myriad of sources across the web. These insights span a wide range of categories from social media activity, news events, shared experiences, to technographic data, and more.

With Autobound’s API, you unlock access to insights such as:

  • Prospect's interests, hobbies, initiatives, and accomplishments.
  • Prospect company value proposition.
  • Persona-specific pain points and KPIs.
  • Technologies used (competitive, complementary).
  • Work history and recent job changes.
  • Customer win stories, prospect’s customers, and investor data.
  • News events like new offerings, acquisitions, awards, and partnerships.
  • Shared experiences like common past employers or schools.
  • ... and many more, all aimed at fueling a deeper understanding and engagement with your prospects.

Craft Exquisite Sales Content

Autobound’s API is engineered to craft email copy that resonates. Not only does it pump in a wealth of relevant insights, but it also allows for customization of the tone, style, and length of the outputted emails. This level of customization ensures that the generated emails align perfectly with your brand voice and the unique preferences of your end clients. The result is compelling, hyper-personalized sales content that stands out in a crowded inbox.

Build Your Own AI Writer

By leveraging these insights and customization features, product teams can now build their own AI writers within their products/platforms. This not only accelerates the content generation process but also ensures that every piece of content is hyper-personalized, relevant, and resonates with the recipient.

Autobound’s API is designed to seamlessly integrate into your existing workflows, allowing for the automatic generation of highly personalized sales content. The ability to generate content that caters to the unique attributes and circumstances of each prospect is a game-changer in the realm of B2B sales and marketing.

Consumption and Credits

The API operates on a usage-based model where the consumption of credits is determined by the type of content generated.

Content TypeCredits (Turbo)Credits (Ultra)
email23
opener12
sms12
callScript23
connectionRequest23
custom23

Credits are only consumed when content is successfully generated and returned, not for failed API requests.

Get Started

Embark on this transformative journey by exploring the following sections of this documentation. This documentation will guide you on how to make your first API request, while the comprehensive endpoint and schema descriptions will provide a deeper understanding of the API's capabilities.

Autobound is set to redefine the sales and martech landscapes. With our API, you are not just keeping pace with the AI revolution, but leading the charge. Dive in, and discover how Autobound’s API can revolutionize your sales and martech operations.

Step 1: Authentication

To authenticate with the Autobound API, use the X-API-KEY header in your requests. Obtain your API key from your account dashboard

X-API-KEY: your-api-key-here

Step 2: Understanding Error Codes

Understanding error codes is crucial for troubleshooting and ensuring smooth interaction with the API. Here are the explanations for the error codes you might encounter:

  • 200 OK: The request was successful, and the expected response is returned.
  • 401 Unauthorized: Authentication failed, likely due to an incorrect or missing API key.
  • 402 Payment Required: The request cannot be processed due to insufficient credits.
  • 405 Method Not Allowed: The HTTP method used is not supported for the endpoint.
  • 408 Request Timeout: The request took too long to process and timed out.
  • 429 Too Many Requests: Too many requests have been sent in a given amount of time and the rate limit has been exceeded. The rate limits are set to prevent abuse and to ensure fair usage.

If you encounter any issues or have questions while interacting with the Autobound API, our support team is here to assist.

Email: [email protected]

Step 3: Making Your First Request

To generate personalized content, make a POST request to the /generate-content/v3.0 endpoint. The only required parameters are your API key, userEmail, contactEmail, and contentType (described further below).

curl -X POST https://api.autobound.ai/api/external/generate-content/v3.1 \
-H "X-API-KEY: your-api-key-here" \
-H "Content-Type: application/json" \
-d '{
    "contactEmail": "[email protected]",
    "userEmail": "[email protected]",
    "contentType": "email"
}'

Replace your-api-key-here with your actual API key, and adjust the request body to match your specifics.

In the context of the Autobound API, identifiers are crucial as they provide the necessary context for generating personalized sales content. Here's a breakdown of how identifiers are used on both the prospect and seller level:

Prospect Identifier:

The prospect identifier (work email) is crucial for personalizing the content generated towards a particular potential client. This identifier allows Autobound's API to pull in relevant insights about the prospect, such as their interests, work history, recent job changes, company initiatives, and news events related to their organization. By having a specific identifier for the prospect, the API can craft content that is tailored to catch the prospect’s attention and resonate with their current circumstances and interests. Even if the system fails to identify the prospect, our hit rate for generating compelling content based on their company-level information is high.

Seller Identifier:

Similarly, a seller identifier (work email) is essential for personalizing the content from the sender's side. The seller identifier enables the API to incorporate information about the seller, perhaps their shared experiences with the prospect, their position, or their company’s value proposition. This ensures that the content generated not only appeals to the prospect but also accurately represents the seller and their brand.

Content Type:

The contentType parameter specifies the type of content you want to generate. It's crucial for tailoring the message according to the context in which it will be delivered. Here are the options:

  • email: Generates a full cold outbound email.
  • opener: Generates just the opening 1-2 lines of an email.
  • connectionRequest: Generates a personalized LinkedIn connection request.
  • sms: Generates a short message for SMS outreach.
  • callScript: Generates a script for phone outreach.
  • custom: This flexible option allows you to pass custom instructions, with a 1,500 character maximum, to guide the content generation for any outreach scenario. Examples could include instructions like "write a 4 email drip sequence", "write a 3 paragraph account strategy", or "create a list of this prospect's top 15 pain points". Regardless of the instruction, Autobound's rich data on prospects and sellers drives the personalization, ensuring the generated content is contextually relevant and highly personalized to both the sender and the receiver.

Each contentType is designed to match the medium and style of communication that is most effective for that particular channel, ensuring that your outreach is always on point.

Request Schemas

Identifiers

  • Contact identifier: either contactEmail or contactLinkedinUrl is required.
    • contactEmail: The email address of the contact (prospect) the user (seller) is reaching out to.
    • contactLinkedinUrl: The LinkedIn URL of the contact the user is reaching out to.
  • User identifier: either userEmail or userLinkedinUrl is required.
    • userEmail (required): The email address of the user the content is written on behalf of.
    • userLinkedinUrl: The LinkedIn URL of the user the content is written on behalf of..

Note - waterfall logic ensures that content still generates even if our system cannot identify the user or prospect's email address, so long as we can figure out their company from their domain. This ensures a 99.8% success rate in generating content outputs.

contentType (required): The type of content to be generated. Options are email, opener, sms, connectionRequest, callScript, and custom contentType.

customContentType (optional): write out your own desired output, like "describe this prospect's personality based on their social media" or "list 20 ice breakers for an upcoming call". These can also be much longer prompts, where you can get creative with the output. Note that if customContentType is used, you'll need to set contentType to custom.

A request with nothing more than the mandated parameters would look like this.

{
    "contactEmail": "[email protected]",
    "userEmail": "[email protected]",
    "contentType": "email"
}

and here's what a custom content type would look like.

{
    "contactEmail": "[email protected]",
    "userEmail": "[email protected]",
	  "contentType": "custom",
    // this is required if customContentType is used.
    "customContentType": "to help prep for a call, write a pre-meeting email for an account executive (the seller) with talking points and insights they can use on their upcoming call with the prospect."
    }
}
  • n(optional) The number of unique pieces of content to generate for the given request. This is set to 1 by default (it not included). The maximum is 3.

additionalContext (optional) This field allows for further customization of the generated content by providing specific guidelines or data to be included in the message. The flexibility here is powerful - you could incorporate intent data, mention past interactions logged in the CRM, or highlight any other relevant information. Character limit is 10,000.

language (optional): specifies the desired language for content generation, ensuring tailored messaging in the recipient's preferred language. This is written out as free-form text, and defaults to "english" if not included.

salesAsset (optional): Information on a potentially longer piece of text like a related whitepaper, text from a sales deck, text from a web page, etc. Text or information a seller wants to include in their messaging, which could be derived from a webpage scrape focusing on a specific product, the pain points it solves for a certain industry, information on an upcoming event, etc. Character limit is 10,000.

In the below example, we're asking the API to incorporate mention of a recent conversation Daniel had with Ryan's coworker (perhaps pulled from the CRM) with a 1,500 character (truncated for simplicity below) overview of an upcoming marketing event Autobound is hosting.

{
    "contactLinkedinURL": "[email protected]",
    "userEmail": "[email protected]",
    "contentType": "email",
    "language": "hebrew",
    "additionalContext": "Daniel previously had a conversation with Ryan's coworker Robert.",
    "salesAsset": "Join us for a Happy Hour at Dreamforce..."
    }
}

In this example:

  • contactLinkedinURL is the LinkedIn URL of Ryan Bask, the prospect. Note how it's okay that the contact ID is a LinkedIn URL whereas the user ID is an email.
  • userEmail is the email address of Daniel, the user making the request.
  • contentType is email, meaning an email will be written
  • language is Hebrew, meaning the output will be in Hebrew.
  • additionalContext includes an instruction to mention a previous conversation Daniel had with Ryan's coworker, Robert, which will guide the content generation process to include this particular context in the email.
  • salesAsset provides content about an upcoming happy hour event at Dreamforce, along with instructions for the AI on how to pitch this event in the email.

wordCount (optional): the number of words (approx) you'd like the output to be. If word count is not passed in, the system will determine how many words to generate. In most scenarios, this is around 80 for email, 20 for opener, 50 for connectionRequest, and 35 for sms. callScript is more dynamic.

writingStyle (optional): This parameter offers flexibility for clients to choose either a preset style or to create their own custom style. Character limit is 10,000. Clients can choose from a range of predefined writing styles. Available presets include:

  • challenger_sale: For a conversational and insightful approach.
  • clever_poet: To craft content with a creative, poetic twist.
  • cxo_pitch: For concise, executive-level pitches.
  • data_driven: For content backed by data, statistics, and clear ROI.
  • basho: For short, personalized content that follow Basho protocol.
  • why_you_why_now: Demonstrates a sense of urgency tied to the prospect's pain points.

Clients can also specify their own writing style, with customWritingStyle. When this is used, the parameter, writingStyle needs to be set to custom.

Let's walk through a few examples. Using a preset writing style...

{
  "contactEmail": "[email protected]",
  "userEmail": "[email protected]",
  "contentType": "email",
  "writingStyle": "challenger_sale"
}

In this example, the output will sound incorporate the challenger sales methodology. The word count will be determined by the model, unless wordCount is specified as well.

Using a custom writing style, and also specifying word count (remember, word count is optional).

{
  "contactEmail": "[email protected]",
  "userEmail": "[email protected]",
  "contentType": "email",
  "writingStyle": "custom",
  //needs to be set to custom if customWritingStyle is used.
  "customWritingStyle": "write at a 6th grade level in British English, very persuasively",
  "wordCount": 85
}

Using a custom writing style to write a custom contentType.

{
  "contactEmail": "[email protected]",
  "userEmail": "[email protected]",
  "contentType": "custom",
  "customContentType": "write a 3 email drip sequence that matches this JSON format... ",
  "writingStyle": "custom",
  "customWritingStyle": "use the following 2 emails to extract my tone and style...",
  "wordCount": 250
}

In this last, more advanced scenario, the client is prompting the system to generate multiple emails in a sequence that build on each other and also fit a certain JSON structure. Word count is set to 250, which is a nice, short total length for 3 separate emails (250 / 3 = ~83 words each).

Getting creative

Here's an example JSON showing the true power of Autobound's Personalization API!

{
  "contactEmail": "[email protected]",
  "userEmail": "[email protected]",
  "contentType": "custom",
  "customContentType": "write a 3 email drip sequence that matches this JSON format... ",
      //writing a full email sequence
  "writingStyle": "custom",
  "customWritingStyle": "use the following 2 emails to extract my tone and style...",
      //using style extracted from example emails
  "salesAsset": "Autobound Logo Integrations Pricing Login Get Started Free Install...",
      // sales asset is a scrape of our AI-writer product's site page. About 500 words but the system can process intent very well.
  "generationModel": "ultra",
      // ultra model included to ensure all rules are followed more precisely. 
  "additionalContext": "include the following deal notes from a closed lost opp from Hubspot: {dealNotes}",
      // context on the contact <> user relationship will be woven into the sequence
  "language": "spanish",
      // the output will be written in another language
  "n": 2,
      // 2 versions of the sequence will be written, the user can select which one they like more.
  "wordCount": 250
  }
}

Understanding the Response

A successful response will return a JSON object containing a list of generated content along with their respective IDs and insights used.

Response Structure:

  • The response is organized under a contentList array, which contains objects for each generated piece of content.
  • Each object contains a subject, content, contentItemId, includedInsights, insightsUsed, valuePropsUsed, and templateId.

Subject and Content

Subject

The subject field is provided only when the contentType is set to email. It represents the subject line of the email that is to be sent. The subject is crafted in a way that it corresponds and is relevant to the body of the email, ensuring coherence and context alignment between the subject and the email content. This aspect enhances the chances of the email being opened and engaged with by the recipient.

"subject": "Congrats on $27M! Level-Up Verifiable's Sales Game 🚀"

Content

The content field represents the body of the contentType specified in the request. For example, foremail, it contains the complete email body, while for opener, it contains the opening 1-2 lines of an email.

The content returned is formatted in HTML to preserve line breaks, formatting, and any other structural elements that are essential for a well-formatted email. This ensures that when the content is rendered in an email client, it retains the formatting as intended, making it easy to read and engaging for the recipient.

Example of an HTML formatted content:

"Hi Ryan,\n\nKudos on the $27M Series B! I’m Daniel from Autobound, and we're in the business of supercharging sales emails—just like this one.\n\nOracle alum here, like you. We both know the sales grind. What if you could cut that grind in half?\n\nThink this could make you really stand out in your new role, interested in learning more?\n\nBest,\nDaniel\n\n

Is ML Generated

The isMLGenerated field indicates whether the content was generated by a machine learning model. It's a boolean value where true signifies that the content was AI-generated, which is always the case in the response.

"isMLGenerated": true

Content Item ID

The contentItemId is a unique identifier associated with each piece of generated content within the contentList array. This ID is crucial for debugging and tracking purposes.

In the event of any issues or anomalies with the generated content, providing the contentItemId when reaching out for support will expedite the troubleshooting process. It allows for precise identification and examination of the specific content generation request, aiding in a quicker resolution.

Here's an example of how the contentItemId is structured in the response:

"contentItemId": "8f72b0fe-f9cf-4795-8612-372cb5e6b9ca"

Included Insights

The includedInsights field provides a breakdown of the insights used to generate the content, grouped by categories. Each insight contributes to crafting a personalized and relevant message for the recipient. The insights are collected from various sources and encompass a range of categories. As the Autobound team continues to add more insights into our system, we'll be simplifying the taxonomy of the insight types and subtypes.

Be sure to see "List of all insights" below for an accurate timeline/update of which insights are live in our system.

Here are the primary types of insights that may be included:

  1. Company highlights
    1. This insight entails specific mentions of a prospect's company's customers or investors, often name-dropped to exhibit the seller's knowledge and research about the prospect and their business. This gesture showcases a level of preparation and personalization, which can foster a more engaging and meaningful interaction with the prospect.
  2. Competitor news
    1. This insight provides curated news articles on a prospect's competitors, identified based on industry, product category, and company size through a blend of internal algorithms and external datasets, either crawled or acquired. Our database encompasses about 150,000 different companies, showcasing a strong footprint in the B2B domain. The news covers pivotal competitor activities such as funding rounds, acquisitions, executive hires, or new product launches. Having this information at hand when reaching out to prospects can be instrumental, as it not only informs the conversation but also unveils opportunities to showcase how your offerings can provide a competitive advantage in light of recent developments.
  3. Financial
    1. Insights regarding the prospect's company financial status, encompassing areas like revenue growth, profit margins, operational efficiency, capital expenditures, and more. This could reflect on the company's financial health, expansion pace, profitability, cost management, and investment strategies, among other financial aspects. By analyzing various financial metrics and their implications, these insights can help tailor propositions to address the financial pain points the prospect's company might be facing, aligning with their financial goals or challenges.
  4. Hiring trend
    1. This insight analyzes a prospect's company's open job positions to deduce their initiatives and potential pain points. Utilizing text analysis methods on keywords in job titles, responsibilities, the quantity and seniority of roles open, we make the open positions relevant to the prospect a user is reaching out to. With a dataset encompassing around 10 million open job positions across 8 million companies at any given time, this insight provides a unique lens into the prospect's company's operational focus and challenges.
  5. Insight
    1. News events relating to the prospect or their company derived from news articles, press releases, or other public sources (about 150 publications in total). Examples might include recent funding rounds, product launches, or other notable events. This type name will likely be changed to "News" in the future.
  6. Podcast
    1. Insights derived from specific podcasts that the prospect has participated in. This could include their views, expertise shared, or discussions they were involved in, which provides a deeper understanding of the prospect's professional interests and knowledge.
  7. Shared Experience
    1. Commonalities between the sender and the recipient, such as having worked at the same company or attended the same school, which can be leveraged to build rapport.
  8. Social Media
    1. Information gleaned from the prospect's social media profiles like LinkedIn, providing details on their professional background, interests, recent job changes, work anniversaries, and more.
  9. Youtube
    1. Information gathered from specific YouTube videos featuring the prospect. This may encompass presentations, interviews, or discussions they were part of, offering a glimpse into their professional persona, their expertise, and areas of interest.

Each category contains an array of insights, with each insight encapsulated in an object that carries the unique ID of the insight, among other information. In the response, you will find the includedInsights field populated with the type of insights used and the corresponding IDs, which can be used for further reference or analysis.

Insights Used

The insightsUsed field provides detailed information on each individual insight that was utilized to craft the content. Each insight is represented as an object within an array, containing various properties that describe the insight, its source, and the relevant data points that were extracted and utilized.

Here's a breakdown of the properties within each insight object:

  1. insightId:

    1. A unique identifier for the insight.
      Insight ID: "189550f1-dcdd-4d1f-aca8-4b1d38c02a16"
      
  2. type:

    1. The category of the insight (e.g., socialMedia, insight, sharedExperience).
      type: "sharedExperience"
      
  3. subType:

    1. A more specific classification within the insight type. The following are available subTypes with their respective types

      subType: "workedSameCompany"
      
  4. name:

    1. A descriptive name for the insight.
      name: "You and the prospect worked at the same company"
      
  5. description:

    1. A brief description of the insight.
  6. variables:

    1. An object containing the actual data points extracted, which were utilized in the content generation.
      {
          "sharedCompanyName": "Oracle",
          "userSharedCompanyStartYear": 2017,
          "userSharedCompanyEndYear": 2017,
          "contactSharedCompanyStartYear": 2013,
          "contactSharedCompanyEndYear": 2014
      }
      

We're working on a full table of all insights broken down by these properties. In the meantime, here they are broken down by type and subType.

List of all insights

The table lists various insights regarding a company, categorized by types and subtypes, along with their association timeline, age or refresh frequency, and likelihood percentage. The insights cover different areas like news, financials, and social media updates. For instance, financial insights scheduled between November 8-13 highlight concerns like dwindling earnings and high spending, with a likelihood range of 5-10%. Social media insights, set for early to mid-December, focus on recent LinkedIn posts with a higher likelihood range of 25-50%. Other insights already live are mostly news-related, with a lower likelihood of under 1%.

You can find a link to this Google Sheet (copy and sort/filter it yourself) here.

Value Props Used

The valuePropsUsed field reflects the value proposition(s) utilized in the generated content.

Currently, API customers cannot customize the value propositions that are used to generate content. This functionality will be enabled soon.

This encapsulates the core value or benefit that the seller's service provides to the prospect's company, derived automatically from various sources like the LinkedIn "About" description of the prospect's company. Here's a breakdown of the fields within valuePropsUsed:

  • **valuePropId**: A unique identifier for the value proposition used.
  • **name**: The name or title of the value proposition.
  • **productName**: The name of the product associated with the value proposition.
  • **content**: The actual text of the value proposition that is integrated into the email content.

For users who already have an account with Autobound:

  • type: Indicates the type of value proposition. It can be default, competitor, persona, or complementaryTech. The default type is used most often, while the others are more specific to the competitor, persona, or complementary technology scenarios.
  • shareType: It can be personal or team. Personal indicates a more tailored or individualized value proposition, while team reflects value props created and shared across the team within Autobound.

Example:

"valuePropsUsed": [
    {
        "valuePropId": "d24d61cd-0353-43f0-9285-4a53fc91ddc2",
        "name": "Company Description",
        "productName": "Autobound",
        "content": "We know how difficult it can be to research a prospect & their employer, then to craft a compelling & relevant email. But with 320 billion emails sent daily, B2B revenue teams HAVE to be highly personalized and relevant to rise above the noise. Autobound's B2B sales engagement platform is revolutionizing how companies sell using generative AI (think ChatGPT for sales). Founded by the top 1% of sellers from Oracle and Yelp, Autobound empowers sellers to increase email reply rate by generating individually personalized sales emails using AI. We’ve trained our AI on millions of high performing sales emails to identify what works best. Autobound integrates directly with LinkedIn, Outreach, Salesloft, Gmail & more. Join our beta at www.autobound.ai/sign-up-free",
        "userId": "5189fb82-34c0-462a-9dd5-cf024aef3dff",
        "organizationId": "3c1308e3-d683-4969-9298-0d979f8a0cb9",
        "type": "default",
        "shareType": "personal"
    }
]

In this example, the value proposition is oriented around the challenges of researching a prospect and their employer, and crafting compelling, relevant emails. Autobound's solution, as outlined in the content field, addresses these challenges by leveraging AI to generate personalized sales emails, thereby increasing the email reply rate. This particular value proposition is categorized as a "personal" share type and a "default" type, indicating a more tailored approach in communicating the value to the prospect.

    1. A more specific classification within the insight type. The following are available subTypes with their

Template Information:

  • The templateId field is used for debugging purposes with the Autobound team if the content being generated has any quality issues.

Now you're all set to start generating personalized sales content with the Autobound API!

For more detailed information on the available endpoints, parameters, and response objects, refer to the full API documentation.