XML Retriever
Get the real metadata XML for objects, fields, flows, Apex and more straight from your org, without VS Code or the Salesforce CLI. It's free and available on every AISOQL account.
A limited, read-only connection Please read
The XML Retriever is built to only read. It's safe to use with a production org, but it's deliberately very limited.
| Can do | List the components of a type, and retrieve the metadata XML of the components you pick. Nothing else. |
|---|---|
| Can't do | Create, change, deploy or delete anything in your org. This connection is kept separate from the Deployment Center, which only ever connects to sandboxes. |
| How long | Access ends automatically after 60 minutes. AISOQL doesn't ask Salesforce for a refresh token, so there's no long-term access. Click Disconnect to end it sooner. |
| Stores | A short-lived, encrypted access token until the connection ends, plus a log of which components you retrieved (names only). The XML itself goes straight to your browser and isn't saved by AISOQL. |
| Per request | Up to 10 components at a time. |
How to use it
- Open Code Generator → Write or fix code → Get component XML.
- Choose Production or Developer Edition or Sandbox, tick the read-only box, and click Sign in with Salesforce (read-only). You sign in on Salesforce's own page.
- Back in AISOQL, pick a type (for example Object or Flow). The components of that type in your org are listed. Filter by name, select one or more, and click Add selected. You can also type an exact name, such as
Account.Industryfor a standard field. - Click Get XML. Salesforce prepares the files, usually in a few seconds.
- Click a file to view it, then Copy or Download it, Download all (.zip), or Open in Update Component to change it with AI.
Files come in Metadata API format, for example objects/Account.object or flows/My_Flow.flow, with a package.xml listing what you retrieved.
Salesforce permissions needed
Salesforce only lets a user call the Metadata API if they have API Enabled and either Modify Metadata Through Metadata API Functions or Modify All Data. That's Salesforce's rule, even for reading. Admins usually have these already.
Because Salesforce grants access based on the user who signs in, the read-only guarantee comes from AISOQL: the XML Retriever is built so the only calls it can make are list and retrieve.
If Salesforce says the app isn't approved
Many orgs only let users sign in to connected apps that an admin has approved or installed. If Salesforce blocks the sign-in, a Salesforce admin can either:
- install or approve the AISOQL app from Setup → Connected Apps OAuth Usage, or
- give the user the Approve Uninstalled Connected Apps permission.
Sign-in only through My Domain
If your company turned off sign-in from login.salesforce.com, open My company only allows sign-in through our My Domain on the connect form and enter your domain, for example yourcompany.my.salesforce.com.
Supported types
| Object (with its fields, record types, validation rules...) | CustomObject |
|---|---|
| Field | CustomField. Lists custom fields. For a standard field type it as Object.Field, e.g. Account.Industry. |
| Validation rule | ValidationRule |
| Record type | RecordType |
| Page layout | Layout |
| Lightning page | FlexiPage |
| Compact layout | CompactLayout |
| List view | ListView |
| Button or link | WebLink |
| Quick action | QuickAction |
| Flow | Flow. Returns the active version, or the latest version if none is active. |
| Apex class | ApexClass |
| Apex trigger | ApexTrigger |
| Visualforce page | ApexPage |
| Lightning web component | LightningComponentBundle |
| Aura component | AuraDefinitionBundle |
| Permission set | PermissionSet. Object and field access is only included for objects and fields retrieved in the same request. |
| Permission set group | PermissionSetGroup |
| Profile | Profile. Object and field access is only included for objects and fields retrieved in the same request. |
| Tab | CustomTab |
| App | CustomApplication |
| Custom label | CustomLabel |
| Global value set (picklist) | GlobalValueSet |
| Standard value set (picklist) | StandardValueSet. Type the name, e.g. LeadSource or OpportunityStage. |
| Custom metadata record | CustomMetadata |
Reports, dashboards, email templates and documents live in folders and aren't supported yet.
Troubleshooting
"Your Salesforce session ended" or "Connect to your org first"
Connections end after 60 minutes or when Salesforce ends the session. Reload the page and connect again.
"This user can't use the Metadata API"
The Salesforce user is missing the permissions listed above. Sign in as a user who has them.
A component isn't in the list
Salesforce doesn't list standard fields or standard picklists. Type the exact name instead, such as Account.Industry or LeadSource, or retrieve the whole object.
A profile or permission set is missing object or field access
Salesforce only includes object and field access for objects and fields retrieved in the same request. Add them to the same request.
AISOQL is independent and isn't affiliated with Salesforce. Still stuck? Contact us.