Google Campaign Manager 360 integration for AI agents.
Google Campaign Manager 360 integration for AI agents with secure authentication and server-side credential injection. Open Connector runs the OAuth, seals the token in an encrypted vault, and serves Google Campaign Manager 360 tools to your agent over MCP or a typed API — credentials injected server-side, every call audited, nothing leaving your infrastructure. Open source (AGPL-3.0) and self-hostable.
Real Google Campaign Manager 360 actions, managed and audited.
Your user connects Google Campaign Manager 360 once; your agent can then manage Campaign Manager 360 advertisers, campaigns, creatives, reports, placements, and trafficking workflows — scoped to the OAuth permissions you grant and the tool allowlist you configure. Every action is least-privilege and written to a tamper-evident audit trail.
- 1
Your user grants Google Campaign Manager 360 access once (OAuth) — the token lands in the vault.
- 2
Your agent calls a tool over MCP or the typed API; Open Connector injects the credential server-side.
- 3
Every routed call appends a hash-chained audit record — nothing leaves your infra.
Supported Google Campaign Manager 360 tools.
217 tools are generated from the published Google Campaign Manager 360 catalog. Descriptions are plain text; each action remains subject to its configured authentication and tool allowlist.
Showing 217 tools. All published catalog entries are included in this page's server-rendered HTML.
- Dfareporting AccountActiveAdSummaries Get
- Gets the account's active ad summary by account ID.
- accountactiveadsummaries
- Dfareporting AccountPermissionGroups Get
- Gets one account permission group by ID.
- accountpermissiongroups
- Dfareporting AccountPermissionGroups List
- Retrieves the list of account permission groups.
- accountpermissiongroups
- Dfareporting AccountPermissions Get
- Gets one account permission by ID.
- accountpermissions
- Dfareporting AccountPermissions List
- Retrieves the list of account permissions.
- accountpermissions
- Dfareporting AccountUserProfiles Get
- Gets one account user profile by ID.
- accountuserprofiles
- Dfareporting AccountUserProfiles Insert
- Inserts a new account user profile.
- accountuserprofiles
- Dfareporting AccountUserProfiles List
- Retrieves a list of account user profiles, possibly filtered. This method supports paging.
- accountuserprofiles
- Dfareporting AccountUserProfiles Patch
- Updates an existing account user profile. This method supports patch semantics.
- accountuserprofiles
- Dfareporting AccountUserProfiles Update
- Updates an existing account user profile.
- accountuserprofiles
- Dfareporting Accounts Get
- Gets one account by ID.
- accounts
- Dfareporting Accounts List
- Retrieves the list of accounts, possibly filtered. This method supports paging.
- accounts
- Dfareporting Accounts Patch
- Updates an existing account. This method supports patch semantics.
- accounts
- Dfareporting Accounts Update
- Updates an existing account.
- accounts
- Dfareporting Ads Get
- Gets one ad by ID.
- ads
- Dfareporting Ads Insert
- Inserts a new ad.
- ads
- Dfareporting Ads List
- Retrieves a list of ads, possibly filtered. This method supports paging.
- ads
- Dfareporting Ads Patch
- Updates an existing ad. This method supports patch semantics.
- ads
- Dfareporting Ads Update
- Updates an existing ad.
- ads
- Dfareporting AdvertiserGroups Delete
- Deletes an existing advertiser group.
- advertisergroups
- Dfareporting AdvertiserGroups Get
- Gets one advertiser group by ID.
- advertisergroups
- Dfareporting AdvertiserGroups Insert
- Inserts a new advertiser group.
- advertisergroups
- Dfareporting AdvertiserGroups List
- Retrieves a list of advertiser groups, possibly filtered. This method supports paging.
- advertisergroups
- Dfareporting AdvertiserGroups Patch
- Updates an existing advertiser group. This method supports patch semantics.
- advertisergroups
- Dfareporting AdvertiserGroups Update
- Updates an existing advertiser group.
- advertisergroups
- Dfareporting AdvertiserInvoices List
- Retrieves a list of invoices for a particular issue month. The api only works if the billing profile invoice level is set to either advertiser or campaign non-consolidated invoice level.
- advertiserinvoices
- Dfareporting AdvertiserLandingPages Get
- Gets one landing page by ID.
- advertiserlandingpages
- Dfareporting AdvertiserLandingPages Insert
- Inserts a new landing page.
- advertiserlandingpages
- Dfareporting AdvertiserLandingPages List
- Retrieves a list of landing pages.
- advertiserlandingpages
- Dfareporting AdvertiserLandingPages Patch
- Updates an existing landing page. This method supports patch semantics.
- advertiserlandingpages
- Dfareporting AdvertiserLandingPages Update
- Updates an existing landing page.
- advertiserlandingpages
- Dfareporting Advertisers Get
- Gets one advertiser by ID.
- advertisers
- Dfareporting Advertisers Insert
- Inserts a new advertiser.
- advertisers
- Dfareporting Advertisers List
- Retrieves a list of advertisers, possibly filtered. This method supports paging.
- advertisers
- Dfareporting Advertisers Patch
- Updates an existing advertiser. This method supports patch semantics.
- advertisers
- Dfareporting Advertisers Update
- Updates an existing advertiser.
- advertisers
- Dfareporting BillingAssignments Insert
- Inserts a new billing assignment and returns the new assignment. Only one of advertiser_id or campaign_id is support per request. If the new assignment has no effect (assigning a campaign to the parent advertiser billing profile or assigning an advertiser to the account billing profile), no assignment will be returned.
- billingassignments
- Dfareporting BillingAssignments List
- Retrieves a list of billing assignments.
- billingassignments
- Dfareporting BillingProfiles Get
- Gets one billing profile by ID.
- billingprofiles
- Dfareporting BillingProfiles List
- Retrieves a list of billing profiles, possibly filtered. This method supports paging.
- billingprofiles
- Dfareporting BillingProfiles Update
- Updates an existing billing profile.
- billingprofiles
- Dfareporting BillingRates List
- Retrieves a list of billing rates. This method supports paging.
- billingrates
- Dfareporting Browsers List
- Retrieves a list of browsers.
- browsers
- Dfareporting CampaignCreativeAssociations Insert
- Associates a creative with the specified campaign. This method creates a default ad with dimensions matching the creative in the campaign if such a default ad does not exist already.
- campaigncreativeassociations
- Dfareporting CampaignCreativeAssociations List
- Retrieves the list of creative IDs associated with the specified campaign. This method supports paging.
- campaigncreativeassociations
- Dfareporting Campaigns Get
- Gets one campaign by ID.
- campaigns
- Dfareporting Campaigns Insert
- Inserts a new campaign.
- campaigns
- Dfareporting Campaigns List
- Retrieves a list of campaigns, possibly filtered. This method supports paging.
- campaigns
- Dfareporting Campaigns Patch
- Updates an existing campaign. This method supports patch semantics.
- campaigns
- Dfareporting Campaigns Update
- Updates an existing campaign.
- campaigns
- Dfareporting ChangeLogs Get
- Gets one change log by ID.
- changelogs
- Dfareporting ChangeLogs List
- Retrieves a list of change logs. This method supports paging.
- changelogs
- Dfareporting Cities List
- Retrieves a list of cities, possibly filtered.
- cities
- Dfareporting ConnectionTypes Get
- Gets one connection type by ID.
- connectiontypes
- Dfareporting ConnectionTypes List
- Retrieves a list of connection types.
- connectiontypes
- Dfareporting ContentCategories Delete
- Deletes an existing content category.
- contentcategories
- Dfareporting ContentCategories Get
- Gets one content category by ID.
- contentcategories
- Dfareporting ContentCategories Insert
- Inserts a new content category.
- contentcategories
- Dfareporting ContentCategories List
- Retrieves a list of content categories, possibly filtered. This method supports paging.
- contentcategories
- Dfareporting ContentCategories Patch
- Updates an existing content category. This method supports patch semantics.
- contentcategories
- Dfareporting ContentCategories Update
- Updates an existing content category.
- contentcategories
- Dfareporting Conversions Batchinsert
- Inserts conversions.
- conversions
- Dfareporting Conversions Batchupdate
- Updates existing conversions.
- conversions
- Dfareporting Countries Get
- Gets one country by ID.
- countries
- Dfareporting Countries List
- Retrieves a list of countries.
- countries
- Dfareporting CreativeAssets Insert
- Inserts a new creative asset.
- creativeassets
- Dfareporting CreativeFieldValues Delete
- Deletes an existing creative field value.
- creativefieldvalues
- Dfareporting CreativeFieldValues Get
- Gets one creative field value by ID.
- creativefieldvalues
- Dfareporting CreativeFieldValues Insert
- Inserts a new creative field value.
- creativefieldvalues
- Dfareporting CreativeFieldValues List
- Retrieves a list of creative field values, possibly filtered. This method supports paging.
- creativefieldvalues
- Dfareporting CreativeFieldValues Patch
- Updates an existing creative field value. This method supports patch semantics.
- creativefieldvalues
- Dfareporting CreativeFieldValues Update
- Updates an existing creative field value.
- creativefieldvalues
- Dfareporting CreativeFields Delete
- Deletes an existing creative field.
- creativefields
- Dfareporting CreativeFields Get
- Gets one creative field by ID.
- creativefields
- Dfareporting CreativeFields Insert
- Inserts a new creative field.
- creativefields
- Dfareporting CreativeFields List
- Retrieves a list of creative fields, possibly filtered. This method supports paging.
- creativefields
- Dfareporting CreativeFields Patch
- Updates an existing creative field. This method supports patch semantics.
- creativefields
- Dfareporting CreativeFields Update
- Updates an existing creative field.
- creativefields
- Dfareporting CreativeGroups Get
- Gets one creative group by ID.
- creativegroups
- Dfareporting CreativeGroups Insert
- Inserts a new creative group.
- creativegroups
- Dfareporting CreativeGroups List
- Retrieves a list of creative groups, possibly filtered. This method supports paging.
- creativegroups
- Dfareporting CreativeGroups Patch
- Updates an existing creative group. This method supports patch semantics.
- creativegroups
- Dfareporting CreativeGroups Update
- Updates an existing creative group.
- creativegroups
- Dfareporting Creatives Get
- Gets one creative by ID.
- creatives
- Dfareporting Creatives Insert
- Inserts a new creative.
- creatives
- Dfareporting Creatives List
- Retrieves a list of creatives, possibly filtered. This method supports paging.
- creatives
- Dfareporting Creatives Patch
- Updates an existing creative. This method supports patch semantics.
- creatives
- Dfareporting Creatives Update
- Updates an existing creative.
- creatives
- Dfareporting DimensionValues Query
- Retrieves list of report dimension values for a list of filters.
- dimensionvalues
- Dfareporting DirectorySites Get
- Gets one directory site by ID.
- directorysites
- Dfareporting DirectorySites Insert
- Inserts a new directory site.
- directorysites
- Dfareporting DirectorySites List
- Retrieves a list of directory sites, possibly filtered. This method supports paging.
- directorysites
- Dfareporting DynamicFeeds Get
- Gets a dynamic feed by ID.
- dynamicfeeds
- Dfareporting DynamicFeeds Insert
- Inserts a new dynamic feed.
- dynamicfeeds
- Dfareporting DynamicFeeds Retransform
- Retransforms a dynamic feed. Only draft feeds can be retransformed (i.e. the feed has not been published).
- dynamicfeeds
- Dfareporting DynamicFeeds Update
- Updates a new dynamic feed. For draft feeds, only Element can be updated. For published feeds, only FeedSchedule can be updated. Other fields will be ignored.
- dynamicfeeds
- Dfareporting DynamicProfiles GenerateCode
- Generates code for a dynamic profile, which will need unescaping.
- dynamicprofiles
- Dfareporting DynamicProfiles Get
- Gets a dynamic profile by ID.
- dynamicprofiles
- Dfareporting DynamicProfiles Insert
- Inserts a new dynamic profile.
- dynamicprofiles
- Dfareporting DynamicProfiles Publish
- Publish for a dynamic profile.
- dynamicprofiles
- Dfareporting DynamicProfiles Update
- Updates an existing dynamic profile.
- dynamicprofiles
- Dfareporting DynamicTargetingKeys Delete
- Deletes an existing dynamic targeting key.
- dynamictargetingkeys
- Dfareporting DynamicTargetingKeys Insert
- Inserts a new dynamic targeting key. Keys must be created at the advertiser level before being assigned to the advertiser's ads, creatives, or placements. There is a maximum of 1000 keys per advertiser, out of which a maximum of 20 keys can be assigned per ad, creative, or placement.
- dynamictargetingkeys
- Dfareporting DynamicTargetingKeys List
- Retrieves a list of dynamic targeting keys.
- dynamictargetingkeys
- Dfareporting EventTags Delete
- Deletes an existing event tag.
- eventtags
- Dfareporting EventTags Get
- Gets one event tag by ID.
- eventtags
- Dfareporting EventTags Insert
- Inserts a new event tag.
- eventtags
- Dfareporting EventTags List
- Retrieves a list of event tags, possibly filtered.
- eventtags
- Dfareporting EventTags Patch
- Updates an existing event tag. This method supports patch semantics.
- eventtags
- Dfareporting EventTags Update
- Updates an existing event tag.
- eventtags
- Dfareporting Files Get
- Retrieves a report file by its report ID and file ID. This method supports media download.
- files
- Dfareporting Files List
- Lists files for a user profile.
- files
- Dfareporting FloodlightActivities Delete
- Deletes an existing floodlight activity.
- floodlightactivities
- Dfareporting FloodlightActivities Generatetag
- Generates a tag for a floodlight activity.
- floodlightactivities
- Dfareporting FloodlightActivities Get
- Gets one floodlight activity by ID.
- floodlightactivities
- Dfareporting FloodlightActivities Insert
- Inserts a new floodlight activity.
- floodlightactivities
- Dfareporting FloodlightActivities List
- Retrieves a list of floodlight activities, possibly filtered. This method supports paging.
- floodlightactivities
- Dfareporting FloodlightActivities Patch
- Updates an existing floodlight activity. This method supports patch semantics.
- floodlightactivities
- Dfareporting FloodlightActivities Update
- Updates an existing floodlight activity.
- floodlightactivities
- Dfareporting FloodlightActivityGroups Get
- Gets one floodlight activity group by ID.
- floodlightactivitygroups
- Dfareporting FloodlightActivityGroups Insert
- Inserts a new floodlight activity group.
- floodlightactivitygroups
- Dfareporting FloodlightActivityGroups List
- Retrieves a list of floodlight activity groups, possibly filtered. This method supports paging.
- floodlightactivitygroups
- Dfareporting FloodlightActivityGroups Patch
- Updates an existing floodlight activity group. This method supports patch semantics.
- floodlightactivitygroups
- Dfareporting FloodlightActivityGroups Update
- Updates an existing floodlight activity group.
- floodlightactivitygroups
- Dfareporting FloodlightConfigurations Get
- Gets one floodlight configuration by ID.
- floodlightconfigurations
- Dfareporting FloodlightConfigurations List
- Retrieves a list of floodlight configurations, possibly filtered.
- floodlightconfigurations
- Dfareporting FloodlightConfigurations Patch
- Updates an existing floodlight configuration. This method supports patch semantics.
- floodlightconfigurations
- Dfareporting FloodlightConfigurations Update
- Updates an existing floodlight configuration.
- floodlightconfigurations
- Dfareporting Languages List
- Retrieves a list of languages.
- languages
- Dfareporting Metros List
- Retrieves a list of metros.
- metros
- Dfareporting MobileApps Get
- Gets one mobile app by ID.
- mobileapps
- Dfareporting MobileApps List
- Retrieves list of available mobile apps.
- mobileapps
- Dfareporting MobileCarriers Get
- Gets one mobile carrier by ID.
- mobilecarriers
- Dfareporting MobileCarriers List
- Retrieves a list of mobile carriers.
- mobilecarriers
- Dfareporting OperatingSystemVersions Get
- Gets one operating system version by ID.
- operatingsystemversions
- Dfareporting OperatingSystemVersions List
- Retrieves a list of operating system versions.
- operatingsystemversions
- Dfareporting OperatingSystems Get
- Gets one operating system by DART ID.
- operatingsystems
- Dfareporting OperatingSystems List
- Retrieves a list of operating systems.
- operatingsystems
- Dfareporting PlacementGroups Get
- Gets one placement group by ID.
- placementgroups
- Dfareporting PlacementGroups Insert
- Inserts a new placement group.
- placementgroups
- Dfareporting PlacementGroups List
- Retrieves a list of placement groups, possibly filtered. This method supports paging.
- placementgroups
- Dfareporting PlacementGroups Patch
- Updates an existing placement group. This method supports patch semantics.
- placementgroups
- Dfareporting PlacementGroups Update
- Updates an existing placement group.
- placementgroups
- Dfareporting PlacementStrategies Delete
- Deletes an existing placement strategy.
- placementstrategies
- Dfareporting PlacementStrategies Get
- Gets one placement strategy by ID.
- placementstrategies
- Dfareporting PlacementStrategies Insert
- Inserts a new placement strategy.
- placementstrategies
- Dfareporting PlacementStrategies List
- Retrieves a list of placement strategies, possibly filtered. This method supports paging.
- placementstrategies
- Dfareporting PlacementStrategies Patch
- Updates an existing placement strategy. This method supports patch semantics.
- placementstrategies
- Dfareporting PlacementStrategies Update
- Updates an existing placement strategy.
- placementstrategies
- Dfareporting Placements Generatetags
- Generates tags for a placement.
- placements
- Dfareporting Placements Get
- Gets one placement by ID.
- placements
- Dfareporting Placements Insert
- Inserts a new placement.
- placements
- Dfareporting Placements List
- Retrieves a list of placements, possibly filtered. This method supports paging.
- placements
- Dfareporting Placements Patch
- Updates an existing placement. This method supports patch semantics.
- placements
- Dfareporting Placements Update
- Updates an existing placement.
- placements
- Dfareporting PlatformTypes Get
- Gets one platform type by ID.
- platformtypes
- Dfareporting PlatformTypes List
- Retrieves a list of platform types.
- platformtypes
- Dfareporting PostalCodes Get
- Gets one postal code by ID.
- postalcodes
- Dfareporting PostalCodes List
- Retrieves a list of postal codes.
- postalcodes
- Dfareporting Regions List
- Retrieves a list of regions.
- regions
- Dfareporting RemarketingListShares Get
- Gets one remarketing list share by remarketing list ID.
- remarketinglistshares
- Dfareporting RemarketingListShares Patch
- Updates an existing remarketing list share. This method supports patch semantics.
- remarketinglistshares
- Dfareporting RemarketingListShares Update
- Updates an existing remarketing list share.
- remarketinglistshares
- Dfareporting RemarketingLists Get
- Gets one remarketing list by ID.
- remarketinglists
- Dfareporting RemarketingLists Insert
- Inserts a new remarketing list.
- remarketinglists
- Dfareporting RemarketingLists List
- Retrieves a list of remarketing lists, possibly filtered. This method supports paging.
- remarketinglists
- Dfareporting RemarketingLists Patch
- Updates an existing remarketing list. This method supports patch semantics.
- remarketinglists
- Dfareporting RemarketingLists Update
- Updates an existing remarketing list.
- remarketinglists
- Dfareporting Reports CompatibleFields Query
- Returns the fields that are compatible to be selected in the respective sections of a report criteria, given the fields already selected in the input report and user permissions.
- reports
- Dfareporting Reports Delete
- Deletes a report by its ID.
- reports
- Dfareporting Reports Files Get
- Retrieves a report file by its report ID and file ID. This method supports media download.
- reports
- Dfareporting Reports Files List
- Lists files for a report.
- reports
- Dfareporting Reports Get
- Retrieves a report by its ID.
- reports
- Dfareporting Reports Insert
- Creates a report.
- reports
- Dfareporting Reports List
- Retrieves list of reports.
- reports
- Dfareporting Reports Run
- Runs a report.
- reports
- Dfareporting Reports Update
- Updates a report.
- reports
- Dfareporting Sites Get
- Gets one site by ID.
- sites
- Dfareporting Sites Insert
- Inserts a new site.
- sites
- Dfareporting Sites List
- Retrieves a list of sites, possibly filtered. This method supports paging.
- sites
- Dfareporting Sites Patch
- Updates an existing site. This method supports patch semantics.
- sites
- Dfareporting Sites Update
- Updates an existing site.
- sites
- Dfareporting Sizes Get
- Gets one size by ID.
- sizes
- Dfareporting Sizes Insert
- Inserts a new size.
- sizes
- Dfareporting Sizes List
- Retrieves a list of sizes, possibly filtered. Retrieved sizes are globally unique and may include values not currently in use by your account. Due to this, the list of sizes returned by this method may differ from the list seen in the Trafficking UI.
- sizes
- Dfareporting StudioCreativeAssets Insert
- Inserts a new studio creative asset.
- studiocreativeassets
- Dfareporting StudioCreatives Get
- Gets a studio creative by ID.
- studiocreatives
- Dfareporting StudioCreatives Insert
- Inserts a new studio creative.
- studiocreatives
- Dfareporting StudioCreatives Publish
- Publish for a studio creative.
- studiocreatives
- Dfareporting Subaccounts Get
- Gets one subaccount by ID.
- subaccounts
- Dfareporting Subaccounts Insert
- Inserts a new subaccount.
- subaccounts
- Dfareporting Subaccounts List
- Gets a list of subaccounts, possibly filtered. This method supports paging.
- subaccounts
- Dfareporting Subaccounts Patch
- Updates an existing subaccount. This method supports patch semantics.
- subaccounts
- Dfareporting Subaccounts Update
- Updates an existing subaccount.
- subaccounts
- Dfareporting TargetableRemarketingLists Get
- Gets one remarketing list by ID.
- targetableremarketinglists
- Dfareporting TargetableRemarketingLists List
- Retrieves a list of targetable remarketing lists, possibly filtered. This method supports paging.
- targetableremarketinglists
- Dfareporting TargetingTemplates Get
- Gets one targeting template by ID.
- targetingtemplates
- Dfareporting TargetingTemplates Insert
- Inserts a new targeting template.
- targetingtemplates
- Dfareporting TargetingTemplates List
- Retrieves a list of targeting templates, optionally filtered. This method supports paging.
- targetingtemplates
- Dfareporting TargetingTemplates Patch
- Updates an existing targeting template. This method supports patch semantics.
- targetingtemplates
- Dfareporting TargetingTemplates Update
- Updates an existing targeting template.
- targetingtemplates
- Dfareporting TvCampaignDetails Get
- Gets one TvCampaignDetail by ID.
- tvcampaigndetails
- Dfareporting TvCampaignSummaries List
- Retrieves a list of TV campaign summaries.
- tvcampaignsummaries
- Dfareporting UserProfiles Get
- Gets one user profile by ID.
- userprofiles
- Dfareporting UserProfiles List
- Retrieves list of user profiles for a user.
- userprofiles
- Dfareporting UserRolePermissionGroups Get
- Gets one user role permission group by ID.
- userrolepermissiongroups
- Dfareporting UserRolePermissionGroups List
- Gets a list of all supported user role permission groups.
- userrolepermissiongroups
- Dfareporting UserRolePermissions Get
- Gets one user role permission by ID.
- userrolepermissions
- Dfareporting UserRolePermissions List
- Gets a list of user role permissions, possibly filtered.
- userrolepermissions
- Dfareporting UserRoles Delete
- Deletes an existing user role.
- userroles
- Dfareporting UserRoles Get
- Gets one user role by ID.
- userroles
- Dfareporting UserRoles Insert
- Inserts a new user role.
- userroles
- Dfareporting UserRoles List
- Retrieves a list of user roles, possibly filtered. This method supports paging.
- userroles
- Dfareporting UserRoles Patch
- Updates an existing user role. This method supports patch semantics.
- userroles
- Dfareporting UserRoles Update
- Updates an existing user role.
- userroles
- Dfareporting VideoFormats Get
- Gets one video format by ID.
- videoformats
- Dfareporting VideoFormats List
- Lists available video formats.
- videoformats
Google Campaign Manager 360 integration, answered
- How do AI agents use Google Campaign Manager 360 through Open Connector?
- Your user connects Google Campaign Manager 360 once with one of its cataloged authentication methods. Open Connector stores the credential in an encrypted vault and exposes Google Campaign Manager 360 tools to your agent over MCP or a typed API, with credentials injected server-side on each call.
- Is this a Google Campaign Manager 360 MCP server?
- Yes. Open Connector can serve Google Campaign Manager 360 as a named MCP server with a scoped allowlist and a per-user connection URL, so any MCP client can call Google Campaign Manager 360 actions with credentials injected server-side.
- Where do Google Campaign Manager 360 credentials live?
- In your own infrastructure. Open Connector keeps credentials in its own vault and injects them at call time, so they never leave your environment.
Give your agents Google Campaign Manager 360 — keep the keys.
Open source, self-hostable, with Google Campaign Manager 360 credentials that never leave your infrastructure. Run it from source today.