@Adam_Fish
Webflow's CMS API can't publish code blocks. Tables aren't in the API at all!? So I built a Playwright robot that clicks buttons in the Designer for us. In 2026, your API is your product. https://t.co/sA7Csu21uO
Viewing enriched Twitter post
Webflow's CMS API can't publish code blocks. Tables aren't in the API at all!? So I built a Playwright robot that clicks buttons in the Designer for us. In 2026, your API is your product. https://t.co/sA7Csu21uO
{
"score": 0.38,
"score_components": {
"author": 0.09,
"engagement": 0.0,
"quality": 0.08000000000000002,
"source": 0.135,
"nlp": 0.05,
"recency": 0.025
},
"scored_at": "2026-04-17T12:48:33.553930",
"import_source": "api_import",
"source_tagged_at": "2026-04-17T12:48:33.553945",
"enriched": true,
"enriched_at": "2026-04-17T12:48:33.553947"
} {
"type": "tweet",
"id": "2045119149001580794",
"url": "https://x.com/Adam_Fish/status/2045119149001580794",
"twitterUrl": "https://twitter.com/Adam_Fish/status/2045119149001580794",
"text": "Webflow's CMS API can't publish code blocks. Tables aren't in the API at all!?\n\nSo I built a Playwright robot that clicks buttons in the Designer for us.\n\nIn 2026, your API is your product.\n\nhttps://t.co/sA7Csu21uO",
"source": "Twitter for iPhone",
"retweetCount": 0,
"replyCount": 0,
"likeCount": 0,
"quoteCount": 0,
"viewCount": 3,
"createdAt": "Fri Apr 17 12:36:16 +0000 2026",
"lang": "en",
"bookmarkCount": 0,
"isReply": false,
"inReplyToId": null,
"conversationId": "2045119149001580794",
"displayTextRange": [
0,
214
],
"inReplyToUserId": null,
"inReplyToUsername": null,
"author": {
"type": "user",
"userName": "Adam_Fish",
"url": "https://x.com/Adam_Fish",
"twitterUrl": "https://twitter.com/Adam_Fish",
"id": "19351838",
"name": "Adam Fish",
"isVerified": false,
"isBlueVerified": true,
"verifiedType": null,
"profilePicture": "https://pbs.twimg.com/profile_images/2027560021437898752/GFtwQQKo_normal.jpg",
"coverPicture": "https://pbs.twimg.com/profile_banners/19351838/1544757880",
"description": "",
"location": "San Francisco, CA",
"followers": 973,
"following": 550,
"status": "",
"canDm": true,
"canMediaTag": true,
"createdAt": "Thu Jan 22 18:15:34 +0000 2009",
"entities": {
"description": {
"urls": []
},
"url": {}
},
"fastFollowersCount": 0,
"favouritesCount": 3074,
"hasCustomTimelines": true,
"isTranslator": false,
"mediaCount": 80,
"statusesCount": 1058,
"withheldInCountries": [],
"affiliatesHighlightedLabel": {},
"possiblySensitive": false,
"pinnedTweetIds": [],
"profile_bio": {
"description": "Cofounder/CEO @DittoLive",
"entities": {
"description": {
"hashtags": [],
"symbols": [],
"urls": [],
"user_mentions": [
{
"id_str": "0",
"indices": [
14,
24
],
"name": "",
"screen_name": "DittoLive"
}
]
},
"url": {
"urls": [
{
"display_url": "ditto.live",
"expanded_url": "http://ditto.live",
"indices": [
0,
23
],
"url": "https://t.co/Th58BXvGnN"
}
]
}
}
},
"isAutomated": false,
"automatedBy": null
},
"extendedEntities": {},
"card": {
"binding_values": [
{
"key": "photo_image_full_size_large",
"value": {
"image_value": {
"height": 419,
"url": "https://pbs.twimg.com/card_img/2045119073126621184/3EUr1nhh?format=jpg&name=800x419",
"width": 800
}
}
},
{
"key": "thumbnail_image",
"value": {
"image_value": {
"height": 150,
"url": "https://pbs.twimg.com/card_img/2045119073126621184/3EUr1nhh?format=jpg&name=280x150",
"width": 267
}
}
},
{
"key": "description",
"value": {
"string_value": "We Built a Browser Robot Because Webflow's API Can't Handle a Code Block"
}
},
{
"key": "domain",
"value": {
"string_value": "www.ditto.com"
}
},
{
"key": "thumbnail_image_large",
"value": {
"image_value": {
"height": 320,
"url": "https://pbs.twimg.com/card_img/2045119073126621184/3EUr1nhh?format=jpg&name=800x320_1",
"width": 569
}
}
},
{
"key": "summary_photo_image_small",
"value": {
"image_value": {
"height": 202,
"url": "https://pbs.twimg.com/card_img/2045119073126621184/3EUr1nhh?format=jpg&name=386x202",
"width": 386
}
}
},
{
"key": "thumbnail_image_original",
"value": {
"image_value": {
"height": 1013,
"url": "https://pbs.twimg.com/card_img/2045119073126621184/3EUr1nhh?format=jpg&name=orig",
"width": 1800
}
}
},
{
"key": "photo_image_full_size_small",
"value": {
"image_value": {
"height": 202,
"url": "https://pbs.twimg.com/card_img/2045119073126621184/3EUr1nhh?format=jpg&name=386x202",
"width": 386
}
}
},
{
"key": "summary_photo_image_large",
"value": {
"image_value": {
"height": 419,
"url": "https://pbs.twimg.com/card_img/2045119073126621184/3EUr1nhh?format=jpg&name=800x419",
"width": 800
}
}
},
{
"key": "thumbnail_image_small",
"value": {
"image_value": {
"height": 81,
"url": "https://pbs.twimg.com/card_img/2045119073126621184/3EUr1nhh?format=jpg&name=144x144",
"width": 144
}
}
},
{
"key": "thumbnail_image_x_large",
"value": {
"image_value": {
"height": 1013,
"url": "https://pbs.twimg.com/card_img/2045119073126621184/3EUr1nhh?format=png&name=2048x2048_2_exp",
"width": 1800
}
}
},
{
"key": "photo_image_full_size_original",
"value": {
"image_value": {
"height": 1013,
"url": "https://pbs.twimg.com/card_img/2045119073126621184/3EUr1nhh?format=jpg&name=orig",
"width": 1800
}
}
},
{
"key": "vanity_url",
"value": {
"scribe_key": "vanity_url",
"string_value": "ditto.com"
}
},
{
"key": "photo_image_full_size",
"value": {
"image_value": {
"height": 314,
"url": "https://pbs.twimg.com/card_img/2045119073126621184/3EUr1nhh?format=jpg&name=600x314",
"width": 600
}
}
},
{
"key": "thumbnail_image_color",
"value": {
"image_color_value": {
"palette": [
{
"percentage": 90.44,
"rgb": {
"blue": 1,
"green": 1,
"red": 1
}
},
{
"percentage": 2.41,
"rgb": {
"blue": 68,
"green": 75,
"red": 51
}
},
{
"percentage": 1.63,
"rgb": {
"blue": 28,
"green": 109,
"red": 117
}
},
{
"percentage": 1.52,
"rgb": {
"blue": 53,
"green": 54,
"red": 98
}
},
{
"percentage": 1.04,
"rgb": {
"blue": 219,
"green": 219,
"red": 219
}
}
]
}
}
},
{
"key": "title",
"value": {
"string_value": "Ditto - We Built a Browser Robot Because Webflow's API Can't Handle a Code Block"
}
},
{
"key": "summary_photo_image_color",
"value": {
"image_color_value": {
"palette": [
{
"percentage": 90.44,
"rgb": {
"blue": 1,
"green": 1,
"red": 1
}
},
{
"percentage": 2.41,
"rgb": {
"blue": 68,
"green": 75,
"red": 51
}
},
{
"percentage": 1.63,
"rgb": {
"blue": 28,
"green": 109,
"red": 117
}
},
{
"percentage": 1.52,
"rgb": {
"blue": 53,
"green": 54,
"red": 98
}
},
{
"percentage": 1.04,
"rgb": {
"blue": 219,
"green": 219,
"red": 219
}
}
]
}
}
},
{
"key": "summary_photo_image_x_large",
"value": {
"image_value": {
"height": 1013,
"url": "https://pbs.twimg.com/card_img/2045119073126621184/3EUr1nhh?format=png&name=2048x2048_2_exp",
"width": 1800
}
}
},
{
"key": "summary_photo_image",
"value": {
"image_value": {
"height": 314,
"url": "https://pbs.twimg.com/card_img/2045119073126621184/3EUr1nhh?format=jpg&name=600x314",
"width": 600
}
}
},
{
"key": "photo_image_full_size_color",
"value": {
"image_color_value": {
"palette": [
{
"percentage": 90.44,
"rgb": {
"blue": 1,
"green": 1,
"red": 1
}
},
{
"percentage": 2.41,
"rgb": {
"blue": 68,
"green": 75,
"red": 51
}
},
{
"percentage": 1.63,
"rgb": {
"blue": 28,
"green": 109,
"red": 117
}
},
{
"percentage": 1.52,
"rgb": {
"blue": 53,
"green": 54,
"red": 98
}
},
{
"percentage": 1.04,
"rgb": {
"blue": 219,
"green": 219,
"red": 219
}
}
]
}
}
},
{
"key": "photo_image_full_size_x_large",
"value": {
"image_value": {
"height": 1013,
"url": "https://pbs.twimg.com/card_img/2045119073126621184/3EUr1nhh?format=png&name=2048x2048_2_exp",
"width": 1800
}
}
},
{
"key": "card_url",
"value": {
"scribe_key": "card_url",
"string_value": "https://t.co/sA7Csu21uO"
}
},
{
"key": "summary_photo_image_original",
"value": {
"image_value": {
"height": 1013,
"url": "https://pbs.twimg.com/card_img/2045119073126621184/3EUr1nhh?format=jpg&name=orig",
"width": 1800
}
}
}
],
"card_platform": {
"platform": {
"audience": {
"name": "production"
},
"device": {
"name": "iPhone",
"version": "13"
}
}
},
"name": "summary_large_image",
"url": "https://t.co/sA7Csu21uO",
"user_refs_results": []
},
"place": {},
"entities": {
"hashtags": [],
"symbols": [],
"timestamps": [],
"urls": [
{
"display_url": "ditto.com/blog/browser-r…",
"expanded_url": "https://www.ditto.com/blog/browser-robot-cms-api-gap",
"indices": [
191,
214
],
"url": "https://t.co/sA7Csu21uO"
}
],
"user_mentions": []
},
"quoted_tweet": null,
"retweeted_tweet": null,
"isLimitedReply": false,
"communityInfo": null,
"article": null
}