Skip to main content
The Microsoft Teams plugin syncs data locally. Use corsair.teams.db.<entity>.search({ data, limit?, offset? }) with the filters listed per entity.

Channels

Path: teams.db.channels.search
const rows = await corsair.teams.db.channels.search({
    data: { /* filters below */ },
    limit: 100,
    offset: 0,
});

Searchable filters

FieldTypeOperators
entity_idstringequals, contains, startsWith, endsWith, in
idstringequals, contains, startsWith, endsWith, in
teamIdstringequals, contains, startsWith, endsWith, in
displayNamestringequals, contains, startsWith, endsWith, in
descriptionstringequals, contains, startsWith, endsWith, in
emailstringequals, contains, startsWith, endsWith, in
webUrlstringequals, contains, startsWith, endsWith, in
membershipTypestringequals, contains, startsWith, endsWith, in
isFavoriteByDefaultbooleanequals
createdDateTimestringequals, contains, startsWith, endsWith, in
createdAtdateequals, before, after, between
Every .search() also accepts limit and offset for pagination. .list() is available on the same path without the .search suffix in code — see database operations.

Chats

Path: teams.db.chats.search
const rows = await corsair.teams.db.chats.search({
    data: { /* filters below */ },
    limit: 100,
    offset: 0,
});

Searchable filters

FieldTypeOperators
entity_idstringequals, contains, startsWith, endsWith, in
idstringequals, contains, startsWith, endsWith, in
topicstringequals, contains, startsWith, endsWith, in
chatTypestringequals, contains, startsWith, endsWith, in
webUrlstringequals, contains, startsWith, endsWith, in
tenantIdstringequals, contains, startsWith, endsWith, in
createdDateTimestringequals, contains, startsWith, endsWith, in
lastUpdatedDateTimestringequals, contains, startsWith, endsWith, in
createdAtdateequals, before, after, between
Every .search() also accepts limit and offset for pagination. .list() is available on the same path without the .search suffix in code — see database operations.

Members

Path: teams.db.members.search
const rows = await corsair.teams.db.members.search({
    data: { /* filters below */ },
    limit: 100,
    offset: 0,
});

Searchable filters

FieldTypeOperators
entity_idstringequals, contains, startsWith, endsWith, in
idstringequals, contains, startsWith, endsWith, in
teamIdstringequals, contains, startsWith, endsWith, in
displayNamestringequals, contains, startsWith, endsWith, in
userIdstringequals, contains, startsWith, endsWith, in
emailstringequals, contains, startsWith, endsWith, in
tenantIdstringequals, contains, startsWith, endsWith, in
Every .search() also accepts limit and offset for pagination. .list() is available on the same path without the .search suffix in code — see database operations.

Messages

Path: teams.db.messages.search
const rows = await corsair.teams.db.messages.search({
    data: { /* filters below */ },
    limit: 100,
    offset: 0,
});

Searchable filters

FieldTypeOperators
entity_idstringequals, contains, startsWith, endsWith, in
idstringequals, contains, startsWith, endsWith, in
channelIdstringequals, contains, startsWith, endsWith, in
chatIdstringequals, contains, startsWith, endsWith, in
teamIdstringequals, contains, startsWith, endsWith, in
replyToIdstringequals, contains, startsWith, endsWith, in
messageTypestringequals, contains, startsWith, endsWith, in
createdDateTimestringequals, contains, startsWith, endsWith, in
lastModifiedDateTimestringequals, contains, startsWith, endsWith, in
deletedDateTimestringequals, contains, startsWith, endsWith, in
subjectstringequals, contains, startsWith, endsWith, in
bodyContentstringequals, contains, startsWith, endsWith, in
bodyContentTypestringequals, contains, startsWith, endsWith, in
importancestringequals, contains, startsWith, endsWith, in
webUrlstringequals, contains, startsWith, endsWith, in
fromUserIdstringequals, contains, startsWith, endsWith, in
fromUserDisplayNamestringequals, contains, startsWith, endsWith, in
createdAtdateequals, before, after, between
Every .search() also accepts limit and offset for pagination. .list() is available on the same path without the .search suffix in code — see database operations.

Teams

Path: teams.db.teams.search
const rows = await corsair.teams.db.teams.search({
    data: { /* filters below */ },
    limit: 100,
    offset: 0,
});

Searchable filters

FieldTypeOperators
entity_idstringequals, contains, startsWith, endsWith, in
idstringequals, contains, startsWith, endsWith, in
displayNamestringequals, contains, startsWith, endsWith, in
descriptionstringequals, contains, startsWith, endsWith, in
internalIdstringequals, contains, startsWith, endsWith, in
classificationstringequals, contains, startsWith, endsWith, in
specializationstringequals, contains, startsWith, endsWith, in
visibilitystringequals, contains, startsWith, endsWith, in
webUrlstringequals, contains, startsWith, endsWith, in
isArchivedbooleanequals
createdAtdateequals, before, after, between
Every .search() also accepts limit and offset for pagination. .list() is available on the same path without the .search suffix in code — see database operations.